any、unknow

// any: 任意类型 unknow:不知道的类型
// 每个层次会包括下面的所有层级,第一层级的类型包含第二层级的所有类型···类推
// 1.顶级类型 any unknow
// 2.Object
// 3.Number String Boolean
// 4.number string boolean
// 5.1  'lq' false 自定义
// 6.never

// any和unknow可以被任何值赋予
let a:any = Symbol('1')
a = []
a = '123'
a = {d: '7' , f:()=> {}}
let b:unknown = Symbol('2')
b = []
b = '123'
b = {e: '8', g:()=>{}}

let c:string = '456'
c = a // any可以赋值给下层级的类型
// c = b // 报错,unknow不可以赋值给下层级的类型

// any和unknow都无法通过.获取属性提示
console.log(a.d,a.f()) // any可以通过.获取属性值和方法
// console.log(b.e,b.g()) // 报错,unknow无法获取属性值和方法,更加安全

 

posted on 2025-02-11 23:52  ChoZ  阅读(33)  评论(0)    收藏  举报

导航