news 2026/5/28 13:34:21

typescript-接口的基本使用(三)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
typescript-接口的基本使用(三)

上一节我们讲了可接口中可选属性的用法,那么现在想这样一个问题,小的时候,我们看超人,超人可以做任何事情。不仅限于帮助人,帮助动物,帮助植物.....因为这些种类都有不同的“属性”,我们不可以局限于某个属性,那么,这里我们也是可以有办法的。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 12:20:52

计算机Java毕设实战-基于springboo的社团成员活动策划组织管理系统(【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/13 12:58:55

当系统出现找不到msvcr120.dll文件问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/5/28 12:20:58

2026年高效降低AI率工具:这些免费降AI率工具实测,有效降AI率高达60%

一、 2026年了&#xff0c;别让“AI率”卡住你的学位证说真的&#xff0c;现在的毕业季太难了。学校查重系统升级了。以前只查复制比。现在还要查论文降aigc率。很多同学都在问我。明明是自己写的&#xff0c;怎么也被标红&#xff1f;或者用AI润色了一段&#xff0c;直接飙到6…

作者头像 李华
网站建设 2026/5/22 12:52:08

深度学习篇---随机森林通俗理解

核心比喻&#xff1a;森林与委员会 想象一下&#xff0c;你现在有一个难题&#xff08;比如&#xff1a;判断一个水果是苹果还是橙子&#xff09;&#xff0c;你自己拿不准主意。你会怎么办&#xff1f; 一个聪明的方法是&#xff1a;去问一群人&#xff0c;然后采纳大多数人…

作者头像 李华
网站建设 2026/5/22 9:08:23

社会网络仿真软件:NetLogo_(19).社会网络仿真的伦理与法律问题

社会网络仿真的伦理与法律问题 在进行社会网络仿真时&#xff0c;伦理与法律问题不容忽视。这些问题不仅关系到仿真模型的准确性&#xff0c;还直接影响到仿真结果的应用和解释。本节将详细探讨这些伦理与法律问题&#xff0c;包括数据隐私、知情同意、模型的公平性和透明度&a…

作者头像 李华