2

如何为 TypeScript 中的静态类函数提供附加声明?例如,我正在使用带有实验性Object.observe()JavaScript 功能的 Chrome Canary。为了使用它(不诉诸任何演员),我想声明这个Object.observe函数。我该怎么做呢?

declare ?; // What goes here?

var x = {};
Object.observe( x, ( update : any ) => { console.log("Hello"); } ); // Declaration needed
4

1 回答 1

2

您需要创建一个接口:

interface Object {
  observe(beingObserved: any, callback: (update: any) => any) : void;
}

.ts然后只需在文件中引用该接口即可。截至0.8.1.1,Intellisense 有点不稳定,但它可以工作并且会在编译期间强制执行合同。

它还将突出显示您使用Object.observewith的地方Ambiguous call expression - could not choose overload,但它仍然会编译。

于 2012-12-12T20:43:20.853 回答