短剧春节档开打:漫剧成平台新争夺战场!

核心内容摘要

集星獭 | 让集成“看得见、管得住”——四大监控能力实战指南
深入解析YOLOv5中Bottleneck的设计与优化策略

【实战】宝塔面板 + ThinkPHP 项目高效部署全攻略

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

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

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]);

玩偶姐姐-玩偶姐姐应用

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

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