TS 之任意值
任意值(Any
)用来表示允许赋值为任意类型。
一、什么是任意值类型?
如果是一个普通类型,在赋值过程中改变类型是不被允许的:
let myFavoriteNumber: string = 'seven'; myFavoriteNumber = 7; // Type '7' is not assignable to type 'string'.
但如果是 any
类型,则被允许赋值为任意类型。
let myFavoriteNumber: any = 'seven'; myFavoriteNumber = 7;
二、任意值的属性和方法
在任意值上访问任何属性、任何方法都是允许的:
let anything: any = 'Hello'; console.log(anyThing.myName); console.log(anyThing.myName.firstName); let anything2: any = 'Frankie'; anything2.setName('Mandy'); anything2.setName('Mandy').sayHello(); anything2.myName.setFirstName('Ada');
可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容都是任意值。
三、未声明类型的变量
变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型:
let something; something = 'seven'; something = 7; something.setName('Frankie'); // 这里先说下后面要介绍的“类型推论” // let something 会被推断成 any 类型; // let something = 7 会被推断成 number 类型
等价于:
let something: any; something = 'seven'; something = 7; something.setName('Frankie');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: TS 之类型推论
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论