TypeScript 的联合类型

什么是联合类型

联合类型就是在定义变量的时候,指定多个数据类型,
表示这个变量的值可以是这些类型中的任意一个,且不可以赋值其他的类型。

声明格式: let 变量名 : 类型1 | 类型2 | … = 初始值;
例如下面的案例,变量flag 可以支持 Boolean 和 number 两种数据类型。
不可以赋值字符串类型。

let flag : boolean | number = true;
flag = 100.56874;

// 不可以,flag只可以接收 布尔 或者 数值类型,赋值字符串会报错
// flag = "abc"; 

联合类型使用的注意点

联合类型在使用的时候,会自动根据最后一次的赋值进行类型推断。
使用变量的函数的时候,只支持 所有类型共有的方法 or 根据类型推断得出的数据类型所拥有的方法。
案例代码如下:

let flag : boolean | number = true;
flag = 100.56874;
// flag = "abc"; // 不可以,flag只可以接收 布尔 或者 数值类型

// 方法使用时会进行自动的类型断言,调用该类型有的方法
let fixedNumber = flag.toFixed(2)
console.log(fixedNumber)

// 数值类型没有 split() 方法,会提示 【数值类型中没有split()方法的错误】
// let strs:string[] = flag.split('-')

你可能感兴趣的:(TypeScript,typescript,联合类型)