interface 和 type 都可以用来声明 TypeScript 的类型。

对比项 type interface
类型的合并方式 & 同名自动合并、可通过extends扩展
支持的数据类型范围 全部数据类型 object、function、class

注意:由于 interface 支持同名类型自动合并,我们开发一些组件或工具库时,对于出入参的类型应该尽可能地使用 interface 声明,方便开发者在调用时做自定义扩展

从使用场景上说,type 的用途更加强大,不局限于表达 object/class/function ,还能声明基本类型别名、联合类型、元组等类型。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!