interface 和 type的区别

128 阅读1分钟

两者之间的相同点

interface命令与type命令作用类似,都可以表示对象、函数类型。

两者之间的区别

  1. type能够表示非对象类型(原始类型、联合类型、元组),而interface只能表示对象类型(包括数组、函数等)。
  2. type不能打开添加新属性,而interface总是可以扩展的。
  3. interface可以继承其他类型,type不支持继承。
  4. interface重复声明会合并,type会报错。
  5. this关键字只能用于interface
  6. interface不能包含属性映射(mapping),type可以

参考链接:https://typescript.p6p.net/typescript-tutorial/interface.html#interface-%E4%B8%8E-type-%E7%9A%84%E5%BC%82%E5%90%8C