-
联合类型是指,多个类型组成的一个新类型,使用符号|表示
-
联合类型A|B表示,任何一个类型只要属于A或B,就属于联合类型A|B
-
联合类型可以与值类型相结合,表示一个变量的值有若干种可能 ('赤'|'橙'|'黄'|'绿'|'青'|'蓝')
-
打开编译选项strictNullCheck后,其他类型的变量不能赋值为undefined或null,这时如果某个变量确实可能包含空值,就可以采用联合类型的写法。
let name:string|null name='john' name=null -
联合类型的第一个成员前面,也可以加上竖杠,这样便于多行书写
let x: |'one' |'two' |'three' -
如果一个变量有多种类型,读取该变量时,往往需要进行“类型缩小”,区分该值到底属于哪一种类型,然后再进一步处理
-
“类型缩小”是ts处理联合类型的标准方法,凡是遇到可能为多种类型的场合,都需要先缩小类型,再进行处理。
-
实际上,联合类型本身可以看成是一种“类型放大”,处理时就需要“类型缩小”