typescript extends
时间: 2024-02-10 22:43:52 浏览: 30
`extends` 是 TypeScript 中用于扩展(继承)类或接口的关键字。
对于类,可以使用 `extends` 关键字来创建一个子类,从而继承父类的属性和方法。例如:
```typescript
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise.`);
}
}
class Dog extends Animal {
constructor(name: string) {
super(name);
}
speak() {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog('Fido');
dog.speak(); // output: "Fido barks."
```
对于接口,可以使用 `extends` 关键字来扩展其他接口的成员。例如:
```typescript
interface Person {
name: string;
age: number;
}
interface Employee extends Person {
salary: number;
}
const employee: Employee = {
name: 'John',
age: 30,
salary: 5000,
};
```
在这个例子中,`Employee` 接口继承了 `Person` 接口的 `name` 和 `age` 属性,并新增了 `salary` 属性。由于 `Employee` 接口继承了 `Person` 接口,因此可以将一个符合 `Employee` 接口的对象赋值给一个变量,该对象必须同时包含 `Person` 和 `Employee` 接口中定义的所有属性。