任意值(Any)用来表示允许赋值为任意类型。
什么是任意值类型
如果是一个普通类型,在赋值过程中改变类型是不被允许的,但如果是 any
类型,则允许被赋值为任意类型:
let num: any = 123
num = 'aaa'
任意值的属性和方法
在任意值上访问任意属性和方法都是允许的:
let anyThing: any = 'hello'
console.log(anyThing.myName)
console.log(anyThing.myName.firstName)
anyThing.setName('Bob')
anyThing.myName.setFirstName('Tom')
可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值。
未声明类型的变量
变量如果再声明的时候,未指定类型,那么它会被识别为任意值类型:
let something // 等价于 let something: any
something = 'two'
something = 2
something.setName('Bob')