相同点:任何类型的变量都可以赋值给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类型一般可以放在函数里只传递一个值,不使用其属性和方法