任意值
任意值(Any)用来表示允许赋值为任意类型
如果是一个普通的类型,在赋值过程中改变类型是不被允许的
let num: string = 'seven';
num = 8;
// indexts(2,1): error TS2322: Type 'number' is not assignable to type 'string';
如果是any类型,则允许被赋值为任意类型
let num: any= 'seven';
num = 8;
任意值上访问任何属性是被允许的
let anything: any = 'hello world';
console.log(anything.age)
也是允许调用任何的方法
let anything: any = 'suger';
anything.concat('Bob');
可以认为,声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值。
变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型
let something;
something = 'seven';
something = 7;
something.concat('Tom');
等价于
let something: any;
something = 'seven';
something = 7;
something.concat('Tom');