全球美学与匠心交织:欧美精产与国品之光的深度“进阶”选购指南

核心内容摘要

大雷藏宝库.17c:解码失落的千年宝藏,开启财富新纪元
汗水与荷尔蒙交织的青春:体育生白袜的训练与“释放”

跨越年龄的界限:当“忘年交”遇上“视频”,爱与陪伴的全新篇章

上一节我们讲了可接口中可选属性的用法那么现在想这样一个问题小的时候我们看超人超人可以做任何事情。

不仅限于帮助人帮助动物帮助植物.....因为这些种类都有不同的“属性”我们不可以局限于某个属性那么这里我们也是可以有办法的。

interface IAnyObj { [prop: string]: any; } class SuperMan { public doAnyThing(anyObj: IAnyObj): void { console.log(超人做任何事情 , anyObj); } } let superMan new SuperMan(); superMan.doAnyThing({ age: 999 }); superMan.doAnyThing({ name: 任何人 }); superMan.doAnyThing([99, 55]);tsc index.ts在这里我们定义了IAnyObj的接口这里的[prop: string]: any;表示包含“任意字符串类型”的属性的事物都可以传递到doAnyThing的方法中。

最后的那个数组有点例外其实访问的时候他也会进行转换把索引按照字符串来读取。

其实这涉及到一个动态属性的问题。

比如传递过来的数据你不确定这个数据都有哪些属性那么就可以用下面的方法进行访问interface IAnyObj { [prop: string]: any; } class SuperMan { public doAnyThing(anyObj: IAnyObj): void { // console.log(超人做任何事情 , anyObj); let keys Object.keys(anyObj); if (keys.length) { for (let i 0; i keys.length; i) { console.log( 访问的属性 , keys[i], 对应的值为 , anyObj[keys[i]] ); } } } } let superMan new SuperMan(); superMan.doAnyThing({ age: 999 }); superMan.doAnyThing({ name: 任何人 }); superMan.doAnyThing([99, 55]); let arr [99, 55]; console.log(arr[0]);

MICID -MICID 最新版v.15.94.13-2285安卓网应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123