前端技术回顾系列 04 |初学接口

在微信中阅读,关注公众号:CodeFit

创作不易,如果你觉得这篇文章对你有帮助,请不要忘了 点赞分享关注 我的公众号:CodeFit,为我的持续创作提供一些动力。


大纲

  1. 引言
  2. 接口的基本概念
  3. 使用接口定义变量
  4. 可选属性
  5. 只读属性
  6. 方法签名

1. 引言

在之前的内容中,我们回顾了数组类型。

本文将介绍另一个常用的数据类型 - 对象类型(Object Type),并引入一个新的概念——接口(Interface)

接口TypeScript 中一个非常重要和强大的工具。

这个特性可以帮助我们定义对象的结构,从而确保代码的类型安全性和可维护性。

2. 接口的基本概念

接口TypeScript 中用来描述对象结构的一种方式。

通过接口,我们可以定义对象中有哪些属性、属性的类型是什么以及有哪些方法。

作为一个强大的工具,利用好接口的能力可以让我们实现更好的类型检查和代码组织。

  • 定义接口
    • 接口使用 interface 关键字来定义。
    • 接口名称通常是大写开头,建议加上 I 前缀以表示是接口(非强制)。
interface IPerson {
    name: string,
    age: number,
}

3. 使用接口来定义变量

  • 定义变量并使用接口
    • 使用接口来定义变量,这个变量需要符合接口定义的结构。
let codefit: IPerson = {
    name: 'CodeFit',
    age: 20
}
  • 属性的匹配
    • 如果定义的对象缺少接口中定义的属性,或者多了额外的属性,都会报错。
let codefit: Person = {
  name: 'CodeFit'
  // 错误:缺少 age 属性
};

let codefit: Person = {
  name: 'CodeFit',
  age: 20,
  id: 1
  // 错误:多了 id 属性
};

4. 可选属性

  • 可选属性
    • 在接口中可以使用 ? 来标记属性为可选的,这样在定义对象时,其属性可以存在,也可以不存在。
interface Person {
  name: string;
  age?: number; // 设置可选属性
}

let codefit: Person = {
  name: 'CodeFit'
  // 正确:age 属性可以不存在
};

5. 只读属性

  • 只读属性
    • 使用 readonly 关键字定义只读属性,这个属性只能在对象创建时被赋值,之后不能被修改(重新赋值)。
interface Person {
  readonly id: number;
  name: string;
  age?: number;
}

let codefit: Person = {
  id: 1,
  name: 'CodeFit',
  age: 20
};

codefit.id = 2; // 错误:只读属性不能被修改
  • 区别于 const
    • readonly 用于对象的属性,而 const 用于变量。const 定义的变量不能重新赋值,而 readonly 定义的属性不能被修改。

6. 方法签名

接口中可以通过 方法 来定义对象的行为,但是,这些方法在接口中只能以 方法签名 的方式存在,然后在对象中 实现

方法签名(Method Signature) 指的是方法的名称、参数类型和返回值类型的组合,不包括具体的实现

TypeScript 中,方法签名 用于描述函数和方法的类型,后面我们还会介绍 函数类型接口(一个接口用于描述函数的类型,包括其参数类型和返回值类型)。

在接口中定义方法,其语法和定义 函数 一样,我们将在下一篇开始 函数 的内容。

interface IPerson {
  name: string;
  age?: number;
  greet(): string;
}

let codefit: IPerson = {
  name: 'Codefit',
  age: 20,
  greet: function() {
    return `Hello, my name is ${this.name}`;
  }
};

console.log(codefit.greet()); // 输出: Hello, my name is Codefit

7. 扩展阅读

接口 不仅可以用来描述对象的结构,还可以用来描述类、函数、数组等各种编程语言中的概念。

高级用法包括 继承函数类型接口混合类型接口 等,这些将在后续内容中介绍。

小结

  • 接口的作用

    • 接口用于定义对象的类型和结构,确保对象符合预期的描述。
    • 通过接口,就可以让对象有静态类型检查,提前发现代码中的错误。
  • 接口的基本用法

    • 定义接口。
    • 使用接口约束变量。
    • 使用可选属性或只读属性。

总的来说,TypeScript 中的接口为我们提供了一种强大的工具,用来描述和约束对象的结构,使代码更健壮和可维护。

在后续的内容中,我们将继续深入学习接口的高级用法,从而进一步理解和掌握 TypeScript 的类型系统。


感谢你的阅读!

如果你觉得这篇文章对你有帮助,请点赞、分享,并关注 CodeFit,这样你就不会错过更多的精彩内容。

同时,你的 支持反馈 对我非常重要,欢迎在评论区留言,与我互动。

谢谢大家,下次见!

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeFit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值