ts联合类型

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();
}

联合类型的变量在被赋值的时候,会根据类型推论的规则推断出一个类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值