1.any类型,如果不声明类型,会自动设置为any类型,但是会失去TS类型检测的作用
let anys:any = 'str'
anys = 123
anys = {}
anys = true
anys = []
anys = Symbol('123')
2.unknown类型
let unknown:unknown = 'str'
unknown = 123
unknown = {}
unknown = true
unknown = []
unknown = Symbol('123')
3.区别
let boy:any = {age:12}
console.log(boy.age) //输出12
let girl :unknown= {name:'小芳'}
console.log(girl.name) //报错
any类型的对象可是调用对象属性和方法,unknown类型则不可以,所以unknown要比any要安全,所以在项目中可以多使用unknown类型
tips:
let str : string= '124'
let str2 : any = '456'
str = str2 //正确
let str3: unknown = '678'
str = str3 //报错