前言
任意值(Any)用来表示允许赋值为任意类型。
什么是任意值类型
如果一个普通类型,在赋值过程中改变类型是不会被允许的:
let str: string = '我是字符串';str = 1; //Type '1' is not assignable to type 'string'.
但如果是any类型的变量,那么它是允许被改变为任意类型的.
let an: any = '任意值';an = 2;
任意值的属性和方法
在任意值上访问属性和方法都是被允许的。也可以这样理解,声明一个值为任意值后,对它的任何操作,返回的内容的类型都是任意值.
let anySay: any = 'any';anySay.getNameany.SetName('zhangsnan')let anyThing: any = {name: function (name) {return name;},age: 18}anyThing.age //18anyThing.name('jack') //jack
未声明类型的变量
如果一个变量未声明类型,那么它将会被识别未任意类型
let somthing;somthing = '1';somthing = true;somthing = null;somthing = undefined;somthing //undefined
测试用例
let debug:boolean = true;let a: any = '1';//任意值允许随意修改a = 2;// 未声明类型 则被识别为任意值let b;b = '7';b = true;debug && console.log({a: a,b: b});-----------------------------------------------------------------------------------{ a: 2, b: true }
