【TypeScript 高级应用】interface、class和type的区别

2023/12/12 17:52:57

在 ts 中,interface、class 和 type 都可以用来定义数据的结构。

使用 class 定义数据结构的好处是:定义 class 时可以定义初始值,而 interface 不行。

export class CellRow {
  key: string; // 数据key
  style?: object; // 单元格数据行元素样式
  dataType?: DataTypesEnum; // 数据展示类型
  maxDecimalDigit?: number = 0; // 最大保留几位小数,默认0,不保留小数
  eventOptions?: CustomizeEventOptions; // 事件配置
  // cellColumns?:
}

const cellRow: CellRow = new CellRow();

type 和 interface 都不会产生实际的值,它们只能用来定义数据结构,因为 js 中没有这两种概念,但是 js 中是有 class 的。

定义 class 后就隐式的定义了同名的 interface。