TypeScript中的接口(interfaces)是一种用于定义对象形状的语法结构。它们提供了一种方式来描述对象应该具有的属性和方法。接口在TypeScript中是非常重要的概念,因为它们允许我们在编译时捕获代码中的错误,提高了代码的可靠性和可维护性。
下面是一个简单的示例,定义了一个名为Person
的接口:
interface Person {
name: string;
age: number;
speak(): void;
}
在这个例子中,Person
接口定义了一个具有name
和age
属性,以及speak()
方法的对象。在TypeScript中,接口可以用于描述对象的形状,但不能实现具体的行为,因此在接口中定义的方法都是抽象的。
我们可以使用这个接口来定义一个满足Person
接口要求的对象:
const person: Person = {
name: 'Alice',
age: 30,
speak() {
console.log(`My name is ${this.name} and I'm ${this.age} years old.`);
}
};
注意,这个对象必须包含接口定义的所有属性和方法,否则TypeScript编译器会报错。
接口还可以用于定义可选属性和只读属性。例如:
interface Car {
model: string;
year: number;
color?: string; // 可选属性
readonly vin: string; // 只读属性
}
const car: Car = {
model: 'Tesla Model S',
year: 2022,
vin: '1234567890'
};
在这个例子中,color
属性是可选的,因此它可以省略不写。而vin
属性是只读的,因此它不能被修改。