typescript知识浅析
TypeScript 中的数据类型
typescript 中为了使编写的代码更规范,更利于维护,增加了类型校验,在 typescript 中主要提供了以下数据类型:
- unknown (Top Type)
- 保留静态检查能力,但是不能调用任何方法
- 布尔类型 bolean
- 数字类型 number
- 字符串类型 string
- 数组类型 array
- 元组类型 tuple
- 枚举类型 enum
- 任意类型 any
- null 和 undefined
- void 类型
- never 类型 (Bottom Type)
- 联合类型的过滤
- 防御性编程,switch 类型收窄
类型之间的并集(|)会向上取顶部类型,即 never | ‘a’ => ‘a’, unknown | ‘a’ => unknown;
类型之间的交集(&)会向下取底部类型,即 never & ‘a’=>never, unknown & ‘a’ => ‘a’;
ts 中 Object 和 object 这两个类型的区别?
Object 可以被赋值为原始类型,但是 object 只能赋值为复杂数据类型
ts 中 type 和 interface 的区别
- type 可以声明基本类型别名,联合类型,元祖等类型
- interface 能够声明合并
- interface 可以 extends 进行类型扩展,type 可以通过交叉类型(&)实现 interface 的 extend 行为。