在TypeScript中扩展类型可以通过以下几种方式实现:
interface Person {
name: string;
age: number;
}
interface Employee extends Person {
salary: number;
}
const employee: Employee = {
name: "John",
age: 30,
salary: 5000,
};
在上述示例中,Employee
接口继承了 Person
接口,并添加了 salary
属性。
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
eat() {
console.log("Eating...");
}
}
class Dog extends Animal {
breed: string;
constructor(name: string, breed: string) {
super(name);
this.breed = breed;
}
bark() {
console.log("Barking...");
}
}
const dog: Dog = new Dog("Max", "Labrador");
dog.eat(); // Output: Eating...
dog.bark(); // Output: Barking...
在上述示例中,Dog
类继承了 Animal
类,并添加了 breed
属性和 bark
方法。
type Person = {
name: string;
age: number;
};
type Employee = Person & {
salary: number;
};
const employee: Employee = {
name: "John",
age: 30,
salary: 5000,
};
在上述示例中,Employee
类型是 Person
类型与包含 salary
属性的对象的交叉类型。
以上是在TypeScript中扩展类型的几种常见方式。根据具体的需求和场景,选择合适的方式来扩展类型。对于更复杂的类型扩展需求,还可以使用其他高级特性,如泛型、装饰器等。关于TypeScript的更多信息和示例,您可以参考腾讯云的TypeScript文档:TypeScript | 腾讯云
领取专属 10元无门槛券
手把手带您无忧上云