在声明合并中,导出接口和导出默认接口有什么区别?
我认为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';
}
}
导出接口时,它只会从类导出特定对象,但是当您导出默认接口时,它将导出所有对象并覆盖先前导出的类实例的行为。