如何在TypeScript中提供缺少的声明?

时间:2012-12-12 20:14:37

标签: typescript

如何在TypeScript中为静态类函数提供其他声明?例如,我使用Chrome Canary和实验Object.observe() JavaScript函数。为了使用它(不使用任何演员),我想声明Object.observe函数。我该怎么做?

declare ?; // What goes here?

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

1 个答案:

答案 0 :(得分:3)

您需要创建一个界面:

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

然后在.ts文件中引用该界面。从0.8.1.1开始,Intellisense有点不稳定,但它可以在编译期间执行合同。

它还会突出显示Object.observeAmbiguous call expression - could not choose overload一起使用的地方,但它仍会编译。