Ts学习笔记-联合类型

138 阅读1分钟
  • 联合类型是指,多个类型组成的一个新类型,使用符号|表示

  • 联合类型A|B表示,任何一个类型只要属于A或B,就属于联合类型A|B

  • 联合类型可以与值类型相结合,表示一个变量的值有若干种可能 ('赤'|'橙'|'黄'|'绿'|'青'|'蓝')

  • 打开编译选项strictNullCheck后,其他类型的变量不能赋值为undefined或null,这时如果某个变量确实可能包含空值,就可以采用联合类型的写法。

    let name:string|null
    
    name='john'
    name=null
    
  • 联合类型的第一个成员前面,也可以加上竖杠,这样便于多行书写

    let x:
        |'one'
        |'two'
        |'three'
    
  • 如果一个变量有多种类型,读取该变量时,往往需要进行“类型缩小”,区分该值到底属于哪一种类型,然后再进一步处理

  • “类型缩小”是ts处理联合类型的标准方法,凡是遇到可能为多种类型的场合,都需要先缩小类型,再进行处理。

  • 实际上,联合类型本身可以看成是一种“类型放大”,处理时就需要“类型缩小”