在 TypeScript 中何时使用 `type` 与 `interface`

在 TypeScript 中何时使用 `type` 与 `interface`

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

在定义数据模型时使用interface(如User、Product),而在需要联合或交叉类型时使用type(如ID = string | number)。简单规则是:数据模型用interface,类型组合用type。

🎯

关键要点

  • 定义数据模型时使用interface(如User、Product、Order)。
  • 需要扩展时使用interface(例如:interface Admin extends User)。
  • 在使用类时使用interface。
  • 需要声明合并时使用interface(例如:在库或配置中)。
  • 需要联合或交叉类型时使用type。
  • 在处理原始类型、元组或函数时使用type。
  • 想要组合类型时使用type(例如:type A = B & C)。
  • 定义工具类型时使用type(例如:type ID = string | number)。
  • 简单规则:数据模型使用interface,类型组合使用type。

延伸问答

在 TypeScript 中,何时应该使用 interface?

在定义数据模型时、需要扩展时、使用类时或需要声明合并时应使用 interface。

TypeScript 中 type 的主要用途是什么?

type 主要用于需要联合或交叉类型、处理原始类型、元组或函数时,以及定义工具类型时。

如何区分使用 type 和 interface 的简单规则?

简单规则是:数据模型使用 interface,类型组合使用 type。

可以给出使用 interface 的具体例子吗?

例如,定义 User、Product 和 Order 等数据模型时使用 interface。

在 TypeScript 中,如何进行类型组合?

可以使用 type 进行类型组合,例如 type A = B & C。

为什么在声明合并时推荐使用 interface?

因为 interface 支持声明合并,适合在库或配置中使用。

➡️

继续阅读