TypeScript 中,接口(Interface)

在 TypeScript 中,接口(Interface)是一种定义对象结构的类型。接口定义了对象应该具备的形状,即对象应该具有哪些属性和方法。

代码示例:

复制代码
// 定义一个接口,表示一个人的信息  
interface Person {  
  name: string; // 姓名属性,类型为字符串  
  age: number; // 年龄属性,类型为数字  
  greet(): void; // greet 方法,没有返回值  
}  
  
// 创建一个实现 Person 接口的对象  
const john: Person = {  
  name: 'John Doe',  
  age: 30,  
  greet() {  
    console.log(`Hello, my name is ${this.name}`);  
  }  
};  
  
// 使用该对象  
john.greet(); // 输出:Hello, my name is John Doe

示例中定义了一个名为 Person 的接口(通常首字母要大写 )。接口中定义了:两个属性(nameage)和一个方法(greet)。

然后,创建了一个名为 john 的对象,该对象实现了 Person 接口。这意味着 john 对象必须具有 Person 接口中定义的所有属性和方法。

最后,调用了 john 对象的 greet 方法,该方法打印了一条问候信息。

需要注意的是,接口在 TypeScript 中主要用于定义对象的形状,而不是实现具体的功能。实现接口的对象需要自行提供接口中定义的所有属性和方法的实现。

相关推荐
森蓝情丶8 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
爱勇宝8 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员
Pedantic8 小时前
Combine 框架学习笔记
前端
runnerdancer8 小时前
Agent如何加载执行Skill的脚本
前端·agent
yingyima9 小时前
VS Code 正则替换技巧:从凌晨3点的服务器报警开始
前端
默_笙9 小时前
🛬 我让 AI 帮我写了一个打飞机游戏,结果 Canvas 把我整不会了
前端·javascript
梯度不陡9 小时前
AI 到底能不能从零写软件?ProgramBench 和 RepoZero 给出了两种答案
前端·javascript·面试
冬奇Lab9 小时前
每日一个开源项目(第137篇):Penpot - 真正开源的设计协作工具,SVG 原生格式消灭设计-开发鸿沟
前端·开源·设计
nuIl10 小时前
实现一个 Coding Agent(7):Skills
前端·agent·cursor
nuIl10 小时前
实现一个 Coding Agent(8):会话持久化与多会话
前端·agent·cursor