[英]In typescript how do I extend a global interface with a declared function
[英]How do I extend a global interface locally in TypeScript?
但是,由於帖子中的評論很少,我很難理解發生了什么。 下面是我指的那個帖子。
您可以在本地擴展全局接口
declare global { interface String { myMegaMethod(): void; } } 'hey'.myMegaMethod(); // works
如果我要使用以下模式來擴展像String
這樣的本機類型的功能,我該怎么做?
我是否只有一個名為string.ts
的文件, string.ts
包含以下片段,每當我希望我的 Strings 能夠訪問myMegaMethod
時,我都會導入該片段?
declare global {
interface String {
myMegaMethod(): void;
}
}
我正在努力理解發生了什么。
提到的示例代碼只是展示了如何使用該方法,並沒有談論完整的implementation
及其usage
,而且該代碼用於其他模塊使用的type declaration
aka d.ts
文件,它是其中之一步驟來實現你提到的目標。
實際上,要擴展“ string
”,您甚至可能不需要在新的d.ts
文件中global declare
一個簡單的接口就可以工作,您可以在下面的附加 SO 鏈接中參考。
如果我要使用以下模式來擴展像 String 這樣的本機類型的功能,我該怎么做?
首先,僅在 .ts 文件中添加該代碼是wont
。 您需要遵循一些步驟來主要使用prototype
來實現這一目標
這在下面的 SO 線程中有完整的描述 -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.