TypeScript 类型别名和接口

TypeScript 允许类型与使用它们的变量分开定义。

别名和接口允许在不同变量/对象之间轻松共享类型。

类型别名

类型别名允许使用自定义名称(别名)定义类型。

类型别名可用于像 string 这样的基本类型,或者像 objectarray 这样更复杂的类型:

实例

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"
};

亲自试一试