TypeScript中的一些符号

256 阅读1分钟

特殊类型

  • any 任意类型
  • nullundefined
  • void 无返回值的函数
  • never 永远不存在的值的类型

排除当前变量为null和undefined

  • !: demo!
  • ?.:
    • obj?.a
    • func?.()
  • ??: 左侧值为null或undefined时,返回右侧的操作数;否则返回左侧的操作数。
    • 不能与 &&|| 组合使用
    • 可以作为默认值设置
    • null ? 99

接口的属性操作

  • 设置可选属性
    • 传递数据时,当前值不是必传项
    • ?:
    • Partial
  • 设置为多种类型
    • | 联合类型
    • 有时候,设置多种类型,是为了做不同数据的同一个业务逻辑。这时,需要判断当前传入的数据是具体哪个类型,或具有哪个标志性的属性区分。
  • 合并属性,取交集
    • & 交叉类型
    • 若遇到同属性的类型声明,会取这两个类型的交集,不存在的话,则为never

断言

  • 当清楚的知晓一个变量的类型时,标注当前变量类型
  • 语法
    • <类型名称>
    • as 类型名称

泛型

  • 多用于入参,出参数为固定类型时。但在未使用时,不知晓固定属性类型元素
  • 常用泛型:T,U,V,K,E

设置私有属性

  • private 属性名称
    • 可以在实例上访问
  • # 属性名称
    • 不可以在实例上访问