学习TypeScript 2 (任意类型)
教程来源于 小满TypeScript基础教程全集(完结)
Any类型
any类型 没有强制限定哪种类型,随时切换类型都可以。我们可以对any进行任何操作,不需要检查类型let anys:any = 123 anys = '123' anys = true
声明变量时如果没有指定任意类型,则默认为
any类型let anys2; anys2 = '123' anys2 = true
弊端 如果使用了
any类型,就失去了 TS 类型检测的作用TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown
unknown类型比any更加严格当你要使用any 的时候可以尝试使用unknown
注意:
unknown 可以定义任何类型的值
let value:unknown; value = true; //OK value = 42; //OK value = "Hello World"; //OK value = []; //OK value = {}; //OK value = null; //OK value = undefined; //OK value = Symbol("type") //OK以下这样下会报错 unknown 类型不能作为子类型只能作为父类型 any可以作为父类型和子类型
unknown类型不能赋值给其他类型
let names:unknown = '123' let names2:string = names
这样就没问题了 any类型是可以的
let names:any = '123' let names2:string = namesunknown可赋值对象只有 unknown 和 any
let bbb:unknown = '123' let aaa:any = '456' aaa = bbb区别2
如果是any类型在对象没有这个属性的时候还在获取是不会报错的
let obj:any = {b:1} obj.a如果是unknown 是不能调用属性和方法的
let obj1:unknown = {b:1,ccc:():number=>213} obj1.b obj1.ccc()
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
