接口是定义一组方法和属性的集合,描述对象的预期行为和结构,它只定义契约,而不实现任何方法或包含数据。接口通过合同定义、类型验证、松散耦合和可扩展性等优点,广泛应用于 TypeScript 中。

TypeScript 中的接口
什么是接口?
接口是一组方法和属性的集合,它描述了某个对象或类的预期行为和结构。它不实现任何方法或包含任何数据,只定义了契约。
为什么要使用接口?
- 合同定义:接口确保对象符合特定的规范。
- 类型验证:编译器可以检查对象是否实现了接口中定义的契约。
- 松散耦合:接口允许对象在不了解其具体实现的情况下进行交互。
- 可扩展性:接口可以扩展,以添加新方法或属性,而无需修改现有实现。
如何定义接口?
使用以下语法定义接口:
interface InterfaceName {
// 方法和属性
}示例:
interface Person {
name: string;
age: number;
greet(): void;
}如何使用接口?
- 使用
implements关键字让类实现接口:
class Person implements Person {
// ...
}- 使用
as关键字将对象断言为接口类型:
let person = { name: "John", age: 30 } as Person;接口的属性
- 名称:接口的名称必须唯一。
- 方法:接口可以定义方法,但不能实现它们。
- 属性:接口可以定义属性,但它们不包含任何值。
-
可选属性:可以使用
?将属性标记为可选。 -
只读属性:可以使用
readonly将属性标记为只读。
接口的限制
- 接口不能包含构造函数。
- 接口不能包含私有成员。
- 接口不能被实例化。










