typescript知识浅析

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 的区别

  1. type 可以声明基本类型别名,联合类型,元祖等类型
  2. interface 能够声明合并
  3. interface 可以 extends 进行类型扩展,type 可以通过交叉类型(&)实现 interface 的 extend 行为。

评论