TypeScript 判断类型

//1. typeof
typeof padding === "number";
typeof padding === "string";
typeof obj === "object";
//2. instanceof
if(padder instanceof SpaceRepeatingPadder){
    //do some things
}
//3. constructor.name
if(this.constructor.name=="Player"){
    //do some things
}
TypeScript中,有几种方法可以用来判断类型。其中一种方法是使用typeof操作符。通过typeof v === "typename"或typeof v !== "typename"的形式,可以判断一个变量的类型是否为"number","string","boolean"或"symbol"等。但是需要注意的是,TypeScript并不会阻止你与其他字符串进行比较,这些表达式不会被识别为类型保护。\[1\] 另一种方法是使用instanceof关键字。通过使用instanceof关键字,可以判断一个对象是否属于某个类或接口的实例。例如,在一个泛型函数中,可以使用extends关键字约束泛型类型T必须是某个对象类型的子类型,然后使用keyof操作符获取T类型的所有键,最后使用extends关键字约束K类型必须是keyof T联合类型的子类型。这样就可以在函数中使用obj\[key\]来获取对象的属性值。\[2\] 此外,TypeScript还提供了联合类型的概念。联合类型允许一个变量具有多种可能的类型。例如,可以使用string | boolean来声明一个变量,该变量可以是字符串类型或布尔类型。\[3\] 综上所述,TypeScript提供了多种方法来判断类型,包括typeof操作符、instanceof关键字和联合类型。这些方法可以根据具体的需求来选择使用。 #### 引用[.reference_title] - *1* *3* [TypeScript 类型检查总结](https://blog.csdn.net/m0_45406092/article/details/106854643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [typescript类型判断](https://blog.csdn.net/meng16/article/details/111404848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值