异同点
相同点:
any和unkonwn 可以是任何类的父类,所以任何类型的变量都可以赋值给any类型或unknown类型的变量
不同点
- any也可以是任何类的子类,但unknown不可以,所以any类型的变量都可以赋值给其他类型的变量。
- 不能拿unknown类型的变量来获取任何属性和方法,但any类型的变量可以获取任意名称的属性和任意名称的方法。
any 比较典型的应用场景
自定义守卫 需要进行as any类型断言的场景
比如说后端的数据传到前端后类型就变成了any 此时就可以利用any来给数据定义类型比如
let books: Books[] = data // 后端传来的data到了前端会转为any类型
unknown 的应用场景
一般用作函数参数 用来接收任意类型的变量实参 但在函数内部只用于再次传递或输出结果,不获取属性的场景