any,unknown 的区别和应用场景

文章详细阐述了在TypeScript中any和unknown类型的相似之处和不同点,any类型允许无限制地访问属性和方法,可赋值给其他类型,而unknown类型则更安全,不允许直接访问属性和方法。any通常用于处理后端接口返回的数据,unknown适合在函数参数中使用,保证代码的严谨性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相同点:任何类型的变量都可以赋值给any 、 unknown类型

不同点:
1. 不能拿unknown类型的变量来获取任何属性和方法,但any类型的变量可以获取任何名称的属性和方法
2.any类型的变量可以赋值给其他类型的变量,unknown不可以

let str: string = "a"
let a: any = str
let arr: any = ["a"]
let num: number = arr
function hh(obj: any) {
    console.log(obj.a)
}
hh({ a: "1" })

// let str: string = "a"
// let a: unknown = str
// let arr: unknown = ["a"]
// let num: number = arr // 报错

// function hh(obj:unknown){
//     console.log(obj.a) // 报错
// }
// hh({a:"1"})

使用场景:

any  把后端接口返回的数据定义为any类型,然后赋值给其他具体的类型、 或者使用as any 类型断言

unknown类型一般可以放在函数里只传递一个值,不使用其属性和方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值