Skip to content

类型工具

联合

  • T1 | T2 | ...

只能访问所有类型公共的属性和方法。

交叉

  • T1 & T2 & ...

最终类型为所有类型合并后的属性和方法。

别名

使用 type 给已有类型起个新名字。

  • type NewType = ...

接口

给对象类型起个新名字。

ts
interface Point {
  x: number;
  y: number;
}
区别interfacetype
继承extends交叉
扩展允许重复声明不支持
原始类型不支持支持
错误信息保持名称替换为等价类型

断言

强制更改类型。

  • xxx as xxx
  • xxx as const:转为字面量
  • !:非空断言,把 nullundefined 部分去掉

只允许断言为不同层级的类型,如果想断言为同级类型,可以用 any 中转一下。