深入浅出 TypeScript | 青训营笔记

238 阅读2分钟

讲 TS 的课的时长只有 JS 的课的一半(33分钟),不过讲得也算比较深入浅出了。

TypeScript 给我的感觉就是:Java Script,提供了静态类型检查和其他蛮有用的特性。

为什么要学习TS

TS 在社区的活跃度上升势头明显。

TypeScriptJavaScript
JavaScript的超集,用于解决大型项目的代码复杂性一种脚本语言,用于创建动态网页
强类型,支持静态和动态类型动态弱类型语言
可以在编译期间发现并纠正错误只能在运行时发现错误
不允许改变变量的数据类型变量可以被赋值成不同类型

使用 TS 会带来什么?

  1. 类型安全
  2. 下一代JS特性
  3. 完善的工具链

TS 不仅仅是一门语言,更是生产力工具。

TS基础

基础类型

  1. boolean、number、string
  2. 枚举enum
  3. any、unknown、void
  4. never
  5. 数组类型[]
  6. 元组类型tuple

函数类型

定义:TS定义函数类型时要定义输入参数类型和输出类型

输入参数:参数支持可选参数和默认参数

输出参数:输出可以自动推断,没有返回值时,默认为 void 类型

函数重载:名称相同但参数不同,可以通过重载支持多种类型

interface 接口

定义:接口是为了定义对象类型

特点:

  1. 可选属性:?
  2. 只读属性:readonly
  3. 可以描述函数类型
  4. 可以描述自定义属性

总结:接口非常灵活

Class 类

TS 支持 ES6 引入的类,并提供了一部分的语法糖。

定义:写法和JS差不多,增加了一些定义

特点:

增加了 public、private、protected 修饰符

抽象类:

  • 只能被继承,不能被实例化
  • 作为基类,抽象方法必须被子类实现

interface 约束类,使用 implements 关键字

可以看到和 Java 还是有蛮多相像的地方的,所以一定程度上可以被称为 Java Script。XD