link: Fetching Title#xszb

  • 接口不能表达联合、映射类型或条件类型。类型别名可以表示任何类型。

  • 接口可以使用extends,类型不能。

  • 当您使用相互继承的对象时,请使用接口。extends使 TypeScript 的类型检查器运行速度比使用&.

  • 同一范围内具有相同名称的接口合并其声明,从而导致意外的错误。

  • 类型别名有一个隐式索引签名Record<PropertyKey, unknown>,偶尔会出现。

如果您正在使用相互继承的对象,请使用接口

当您使用 创建接口时extendsTypeScript 可以按接口名称在内部注册表中缓存该接口。这意味着未来对其进行检查可以更快。对于使用 的交集类型&,它无法通过名称缓存它 - 它几乎每次都必须计算它

接口可以声明合并

界面还有另一个功能,如果您没有做好准备,它可能会让人感到非常惊讶。

当两个具有相同名称的接口在同一作用域中声明时,它们会合并它们的声明。