0
我試圖將現有的JavaScript代碼寫入TypeScript,並遇到了將內置對象擴展爲Object.defineProperty
的問題,例如, String.prototype
。在帶有插件的Netbeans上的TypeScript中擴展內建對象
Object.defineProperty(String.prototype, 'testFunc',
{ value: function():string {return 'test';}
});
var s1:string = 'abc'.testFunc(); // Property 'testFunc' does not exist on type 'string'
var s2:string = String.prototype.testFunc(); // Property 'testFunc' does not exist on type 'String'
Object.defineProperty(Object, 'testFunc',
{ value: function():string {return 'test';}
});
var s:string = Object.testFunc(); // Property 'testFunc' does not exist on type 'ObjectConstructor'
它被正確地翻譯成JavaScript,但是,的Netbeans 8.1與TypeScript plugin聲稱列爲上述評論的錯誤。
我所有與declare
和interface
混淆的實驗都沒有匹配任何正確的語法。我不知道如何讓它工作。
如何在TypeScript中擴展內建對象並使IDE接受它?