在 typescript 中, 我们定义类型有两种方式: 接口(interface) 和类型别名(type alias)
在官方文档中我们可以看到:
- Unlike an interface declaration, which always introduces a named object type, a type alias declaration can introduce a name for any kind of type, including primitive, union, and intersection types.
不同于 interface 只能定义对象类型, type 声明的方式可以定义组合类型,交叉类型,原始类型。
如果用 type alias
声明的方式,会导致一些功能的缺失:
- interface 方式可以实现接口的 extends 和 implements , 而 type alias 则不行。
- interface 可以实现接口的 merge ,但 type alias 则不行。
欢迎访问 我的博客 https://www.shisanblog.cn