link: Fetching Title#xszb
-
接口不能表达联合、映射类型或条件类型。类型别名可以表示任何类型。
-
接口可以使用
extends
,类型不能。 -
当您使用相互继承的对象时,请使用接口。
extends
使 TypeScript 的类型检查器运行速度比使用&
. -
同一范围内具有相同名称的接口合并其声明,从而导致意外的错误。
-
类型别名有一个隐式索引签名
Record<PropertyKey, unknown>
,偶尔会出现。
如果您正在使用相互继承的对象,请使用接口
当您使用 创建接口时extends
,TypeScript 可以按接口名称在内部注册表中缓存该接口。这意味着未来对其进行检查可以更快。对于使用 的交集类型&
,它无法通过名称缓存它 - 它几乎每次都必须计算它
接口可以声明合并
界面还有另一个功能,如果您没有做好准备,它可能会让人感到非常惊讶。
当两个具有相同名称的接口在同一作用域中声明时,它们会合并它们的声明。