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

相关推荐
天蓝色的鱼鱼3 分钟前
让 AI 写代码半年后,我发现了几个藏在项目里的安全隐患
前端·javascript·ai编程
随风一样自由19 分钟前
【前端+跨端技术新格局】Tauri vs Electron 完整性能对比(2026实测数据+底层原理)
前端·javascript·electron
L-影26 分钟前
Pydantic 模型:为你的 Web 数据装上“安检系统”
前端
Reload.38 分钟前
GJ航司,验证码网易易盾 JS逆向 纯算轨迹
开发语言·前端·javascript
L-影40 分钟前
FastAPI 请求头与 Cookie:Web 世界的“身份证”与“通行证”
前端·fastapi
IT_陈寒42 分钟前
Vue的响应式更新把我坑惨了,原来是这个原因
前端·人工智能·后端
铁皮饭盒1 小时前
Bun.js 集成了 SQL/Redis/S3,为什么 Java/Go/Python 不集成?
javascript
年轻的砖头1 小时前
以Ajax方式提交整个表单
前端·javascript·ajax
L-影1 小时前
FastAPI CORS 跨域:Web 世界的“小区门禁”与“访客通行证”
前端·javascript·fastapi
stereohomology1 小时前
已进入初赛提交Demo的两个项目:(2)单独html钢琴
前端·html·why不coding