在TypeScript中,接口(Interface)是一种结构化的数据类型系统,它可以用来定义对象的形状,即定义对象哪些属性是必须的,以及它们的类型是什么。接口是TypeScript的核心部分,它让JavaScript的应用程序更加结构化和易于维护。
以下是一些使用TypeScript接口的示例:
- 定义一个简单的接口:
interface Person {
name: string;
age: number;
}
let person: Person = {
name: 'Alice',
age: 25
};
在这个例子中,我们定义了一个Person接口,它有两个属性:name和age。然后我们创建了一个person变量,它符合Person接口的形状。
- 可选属性的接口:
interface Person {
name: string;
age?: number;
}
let person: Person = {
name: 'Alice'
};
在这个例子中,age属性是可选的,这意味着person变量可以只有name属性,也可以同时拥有name和age属性。
- 只读属性的接口:
interface Person {
readonly name: string;
age?: number;
}
let person: Person = {
name: 'Alice'
};
person.name = 'Bob'; // Error: 属性 "name" 是只读的
在这个例子中,name属性是只读的,这意味着一旦设置了name属性,就不能再修改它。
- 带有方法的接口:
interface Person {
name: string;
greet(): string;
}
let person: Person = {
name: 'Alice',
greet() {
return `Hello, my name is ${this.name}!`;
}
};
在这个例子中,Person接口定义了一个greet方法,该方法返回一个字符串。person变量必须实现这个greet方法。
- 继承接口:
interface Person {
name: string;
}
interface Employee extends Person {
jobTitle: string;
}
let employee: Employee = {
name: 'Alice',
jobTitle: 'Software Developer'
};
在这个例子中,Employee接口继承了Person接口,并添加了一个新的jobTitle属性。这表示employee变量必须同时拥有name属性(来自Person接口)和jobTitle属性(来自Employee接口)。