簡體   English   中英

TypeScript聲明合並中的導出接口和導出默認接口之間有什么區別?

[英]What's the difference between export interface and export default interface in typescript declaration merging?

聲明合並中的導出接口和導出默認接口有什么區別?

我認為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';
  }
}

當您導出接口時,它將僅導出類中的特定對象,但是當您導出默認接口時,它將導出所有對象並覆蓋先前導出的類實例的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM