跳至正文
返回博客

TypeScript

记录 TypeScript 中 type 与 interface 的语义用途,以及它们在 VSCode 类型提示中的展示差异。

更新于

type 与 interface 不同点

语义不同

  • interface 主要用于定义数据类型、 class 的抽象接口能力等。
  • type 更多用于类型操作,如类型体操、生成类型等。

多继承

  • interface 不支持多继承, extends 只能继承一个 interface 或者 type
  • type 可以继承多个

VSCode 类型提示解析

  • interface 在 VSCode 悬浮提示中,一般展示为 interface 名称
  • type 在 VSCode 悬浮提示中,一般展示完整的对象,也就是 key-value 的形式