TypeScript 中 type 如何像 interface来使用extends(继承)
warning:
这篇文章距离上次修改已过191天,其中的内容可能已经有所变动。
在TypeScript中,type
关键字用于创建新的类型别名,而不是像类一样可以继承。但是,你可以使用 extends
关键字来扩展接口或者其他类型别名,以此来扩展或修改现有的类型结构。
下面是一个使用 extends
来扩展一个接口的例子:
interface Animal {
name: string;
}
interface Dog extends Animal {
breed: string;
}
let dog: Dog = {
name: "Rex",
breed: "Border Collie"
};
对于类型别名的继承,你可以这样做:
type Animal = {
name: string;
};
type Dog = Animal & {
breed: string;
};
let dog: Dog = {
name: "Rex",
breed: "Border Collie"
};
在这个例子中,Dog
类型是通过将 Animal
类型别名与一个新的类型对象进行交集合并来定义的。这样,所有 Animal
类型的属性都会被 Dog 类型继承,同时还增加了一个 breed
属性。
评论已关闭