ts联合类型
联合类型表示取值可以为多种类型的一种
1、简单的例子
let myFavoriteNumber: string | number;
myFavoriteNumber = 'two';
myFavoriteNumber = 2;
联合类型使用|分隔每个类型
以上例子的含义是允许myFavoriteNumber的类型是string或者number,但是不能是其他类型
2、访问联合类型的属性和方法
当ts不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法:
function getLength(something: string | number):number {
return something.length;
}
由于length不是string和number的公共属性,所以会报错
访问string和number的公共属性是没有问题的:
function getString(something: string | number):string {
retrun something.toString();
}
联合类型的变量在被赋值的时候,会根据类型推论的规则推断出一个类型