TypeScript声明合并中的导出接口和导出默认接口之间有什么区别?

时间:2019-05-23 06:41:45

标签: javascript typescript types declare

在声明合并中,导出接口和导出默认接口之间有什么区别?

我认为export interface只是扩展,export default interface将完全覆盖旧界面。

declare module 'react-intl' {
  export interface MessageDescriptor {
    // error: ts(2717), id's type must be string
    id: 'test' | 'test2';
  }
}

如果我使用:

declare module 'react-intl' {
  export default interface MessageDescriptor {
    // ok
    id: 'test' | 'test2';
  }
}

1 个答案:

答案 0 :(得分:0)

导出接口时,它将仅从类中导出特定的对象,但是导出默认接口时,将导出所有对象并覆盖以前导出的类实例的行为。