如何在 TypeScript 中为静态类函数提供附加声明?例如,我将 Chrome Canary 与实验性 Object.observe()
JavaScript 函数结合使用。为了使用它(不诉诸任何强制转换),我想声明 Object.observe
函数。我该怎么做?
declare ?; // What goes here?
var x = {};
Object.observe( x, ( update : any ) => { console.log("Hello"); } ); // Declaration needed
最佳答案
您需要创建一个界面:
interface Object {
observe(beingObserved: any, callback: (update: any) => any) : void;
}
然后只需在 .ts
文件中引用该接口(interface)即可。从 0.8.1.1
开始,Intellisense 有点不稳定,但它可以工作并且会在编译期间强制执行契约(Contract)。
它还会突出显示您将 Object.observe
与 Ambigously call expression - Could not choice重载
结合使用的地方,但它仍然会编译。
关于typescript - 如何在 TypeScript 中提供缺失的声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847851/