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 中主要用于定义对象的形状,而不是实现具体的功能。实现接口的对象需要自行提供接口中定义的所有属性和方法的实现。

相关推荐
Whisper_Sy几秒前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
新缸中之脑34 分钟前
Weave.js:开源实时白板库
开发语言·javascript·开源
Amumu1213840 分钟前
Vue组件化编程
前端·javascript·vue.js
We་ct1 小时前
LeetCode 6. Z 字形变换:两种解法深度解析与优化
前端·算法·leetcode·typescript
小二·2 小时前
Python Web 开发进阶实战(终章):从单体应用到 AI 原生生态 —— 45 篇技术演进全景与未来开发者生存指南
前端·人工智能·python
m0_637256582 小时前
vue-baidu-map添加了类型组件导致非常卡顿的问题
前端·javascript·vue.js
雨季6662 小时前
基于设备特征的响应式 UI 构建:Flutter for OpenHarmony 中的智能布局实践
javascript·flutter·ui
挂机且五杀2 小时前
为什么在React地图组件里,memo 不是优化,而是生存?
前端·react.js·前端框架
RFCEO2 小时前
HTML编程 课程七、:HTML5 新增表单标签与属性
前端·html·html5·搜索框·手机号·邮箱验证·日期选择
刘一说2 小时前
Vue开发中的“v-model陷阱”:为什么它不能用于非表单元素?
前端·javascript·vue.js