TypeScript 类型别名和接口
TypeScript 允许将类型与使用它们的变量分开定义。 别名和接口允许不同变量/对象之间轻松共享类型。
类型别名
类型别名允许使用自定义名称(别名)定义类型。
类型别名可用于原始类型string
或更复杂的类型,如objects
和arrays
:
例子
type CarYear = number
type CarType = string
type CarModel = string
type Car = {
year: CarYear,
type: CarType,
model: CarModel
}
const carYear: CarYear = 2001
const carType: CarType = "Toyota"
const carModel: CarModel = "Corolla"
const car: Car = {
year: carYear,
type: carType,
model: carModel
};
接口
接口与类型别名类似,但它们仅适用于object
类型。
例子
interface Rectangle {
height: number,
width: number
}
const rectangle: Rectangle = {
height: 20,
width: 10
};
扩展接口
接口可以互相扩展定义。 扩展接口意味着您正在创建一个具有与原始接口相同的属性以及一些新属性的新接口。
例子
interface Rectangle {
height: number,
width: number
}
interface ColoredRectangle extends Rectangle {
color: string
}
const coloredRectangle: ColoredRectangle = {
height: 20,
width: 10,
color: "red"
};