数据类型:
- 8种数据类型:7种原始数据类型:Boolean,Null,Undefined,Number,BigInt,String,SymBol和Object。其中undefined和null是其他原始类型的子类型。
- any类型:任意类型。
:是干什么用的:
声明数据类型
类数组和元组:
- 类数组:有length属性,但不是数组。(eg: arguments就是类数组)
- 元组:限制了数据类型的数组。
interface接口
- 关键字implements:接口的实现。
- 首字母加I表示这是interface。
- ?表示可选属性,readonly表示只读属性。
联合数据类型和类型断言
- 联合类型(union types):eg:
let numberOrString : number | string - 类型断言(as 关键字):
const str = numberOrString as string
类
- 关键字extends:类的继承。
- 类(Class):定义了一切事物的抽象特点。
- 对象(Object):类的实例。
- 面向对象(OOP)三大特性:封装、继承(
extends)、多态。 - 类的三种修饰符:Public(属性或方法是共有的)、Private(属性或方法是私有的)、Protected(属性或方法是受保护的)。
- constructor:构造函数,类实例化的时候执行的逻辑。继承的时候需要重写构造函数时需要
super()。(super就是实例化父类)
extends(继承)和 implements(实现)
因为类可以作为接口使用,或者说因为类同时实现了接口,所以 TypeScript 中可以有如下关系:
- 类继承类
- 接口继承接口/类
- 类实现接口/类
枚举(enum)
关键字enum:定义枚举
- 定义一系列相关的元素。
- 默认第一个枚举值为0,后面依次递增。
- 加
const定义为常量枚举。 - 可以直接用下标取值。
泛型
- 在定义的时候不指定数据类型,在使用的时候才指定
function test <T>(arg: T): T {return arg;} - 约束泛型:要求传入的泛型必须满足某个条件。
类型别名、字面量和交叉类型
- 类型别名:关键字
type为一个很复杂的类型方式创建一个快捷写法。 - 字符串字面量:关键字
type提供一系列方便的写法。 - 交叉类型:将集中类型合并起来,关键字
&
声明文件
- 以
*.d.ts结尾 - 关键字
declare