TS中interface接口的使用

接口用来定义一个类的结构,用来定义一个接口中应该包含哪些属性和方法

语法结构如下:

interface 接口名 { // 属性和方法 }

一、使用接口进行类型声明

我们声明一个对象类型可以使用如下方法:

// 定义一个对象类型
type Mytype = {
  name: string;
  age: number;
}

const obj: Mytype = {
  name: "XunLin",
  age:18
}

使用接口创建对象类型:

// 使用接口声明对象类型
interface Myinterface {
  name: string;
  age: number;
}

const obj: Myinterface = {
  name: "XunLin",
  age:18
}

二、使用接口限制类的结构

接口只考虑类的结构,因此接口中的所有属性都不能有实际的值,接口中的所有方法都是抽象方法。

定义类时可以使类去实现一个接口,实现接口就是使类满足接口的要求。

类实现接口语法格式:

class 类名 implements 接口名 {  }

// 使用接口定义类的结构
interface Myinterface {
  name: string;
  sayHello(): void;
}

// 使用类实现接口
class Myclass implements Myinterface {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
  sayHello(): void {
    console.log("空你几哇");
  }
}

注意:这里的属性必须使用constructor进行赋初始值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TypeScript,可以使用interface关键字来定义接口,并且可以通过export关键字将接口导出。导出接口的方式有两种,一种是直接在定义接口的同时使用export关键字导出,例如: export interface Config { name: string; } 另一种方式是先定义接口,然后在另一个文件使用export default关键字导出接口,例如: interface Config { name: string; } export default Config; 这样就可以在其他文件使用import语句导入并使用接口了。需要注意的是,interface支持同时声明和默认导出,而type不支持。 值得一提的是,interface和type alias在继承方式上也有区别。interface使用extends关键字来进行扩展,例如: interface Animal { name: string; } interface Bear extends Animal { honey: boolean; } 而type alias使用&操作符来进行扩展,例如: type Animal = { name: string; } type Bear = Animal & { honey: boolean; } 这就是在TypeScript使用interface导出的方式。希望能对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [TSinterface与type的区别](https://blog.csdn.net/yhl521112/article/details/124836325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ts -type alias 和interface的区别](https://blog.csdn.net/weixin_28750673/article/details/124841143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [json-to-ts-interface:json字符串自动转换为TypeScript interface定义](https://download.csdn.net/download/weixin_42116701/19195334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值