news 2026/4/23 15:51:31

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/4/18 17:18:20

芒格的“锚定效应“警示:避免固有思维陷阱

芒格的"锚定效应"警示&#xff1a;避免固有思维陷阱 关键词&#xff1a;锚定效应、固有思维陷阱、认知偏差、决策影响、避免方法 摘要&#xff1a;本文围绕芒格所提及的“锚定效应”展开&#xff0c;深入剖析其原理、影响及如何避免陷入固有思维陷阱。详细介绍了锚定…

作者头像 李华
网站建设 2026/4/23 10:37:49

2026新版Python3.14.2安装全攻略

好的&#xff0c;这是针对2026最新版Python 3.14.2的安装与使用指南&#xff1a;Python 3.14.2 安装使用指南一、安装步骤访问官网打开浏览器&#xff0c;访问官方下载页面&#xff1a;https://www.python.org/downloads/选择安装包根据操作系统选择对应版本&#xff1a;Window…

作者头像 李华
网站建设 2026/4/22 14:27:41

永磁同步电机(PMSM)的PI控制

目录 一、PID各项的作用 &#xff08;1&#xff09;比例&#xff08;P&#xff09; &#xff08;2&#xff09;积分&#xff08;I&#xff09; &#xff08;3&#xff09;微分&#xff08;D&#xff09; 二、实际应用中的常见组合 三、永磁同步电机&#xff08;PMSM&…

作者头像 李华
网站建设 2026/4/23 10:48:58

【课程设计/毕业设计】基于微信小程序的高校班务管理系统基于小程序的高校班级管理系统设计与实现【附源码、数据库、万字文档】

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

作者头像 李华
网站建设 2026/4/23 15:29:49

【AI智能体】03-AI Agent架构与组件:解析AI Agent的组成部分及其工作流程

引言AI Agent架构与组件是现代人工智能领域中的一个核心概念&#xff0c;它涉及对智能代理&#xff08;AI Agent&#xff09;的内部结构和功能模块的系统性解析。AI Agent作为一种能够感知环境、做出决策并执行行动的自主实体&#xff0c;其设计和实现依赖于复杂的架构和多种组…

作者头像 李华