typescript as unknown as 可能解释简记

as unknown as 是用来代替 as any的。在开发中经常会遇到类型定义的不太好,需要用 as 进行断言的情况,简单来看,可以直接用 as any 解决几乎所有的 ts 类型问题

但不利于后续的维护,维护者可能并不知道被 as any 的目标应该是什么类型,用 as unknown as 代替可以解决该问题,而且能看到明确的类型和具体的格式,如

const data = res as unknown as number[]

也可以

const data = res as unknown as { permission: [], menu: [], user_info: {user_id:''} };

该语句语法是将格式强制转换成最后面的形式

TypeScript中,unknown类型是TS3.0中新增的一个顶级类型,被称作安全的any。它可以被赋值为任何类型,类似于any类型。例如,可以将number、string、boolean等类型赋值给unknown类型。\[2\] 不同于any类型,unknown类型不能访问其上的属性,也不能作为函数或类来使用。在联合类型中,如果包含unknown类型,则整个联合类型都会变成unknown类型。而在交叉类型中,如果包含unknown类型,则结果会是其他类型。\[2\] unknown类型的特性还包括:never是unknown的子类型,keyof unknown是never,unknown类型不能被遍历,不能与number类型进行+运算,但可以用于等或不等操作。\[2\] 总之,unknown类型是一种安全的any类型,可以接受任何类型的赋值,但在使用时需要注意其特性和限制。\[3\] #### 引用[.reference_title] - *1* *3* [TypeScript-unknown类型](https://blog.csdn.net/lihui61357457/article/details/125167464)[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* [15. TypeScript unknown](https://blog.csdn.net/qq_41614928/article/details/121124682)[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、付费专栏及课程。

余额充值