在Typescript中实现没有名称的函数

时间:2015-06-05 20:43:01

标签: typescript typescript1.5

我试图实现一个没有这样名字的函数:

sentence2 = gsub("<U00BF>", "", sentence2)

我想像这样使用C,但它不起作用:

interface I {
    (name: string): void;    
}

class C implements I {
    (name: string):void { }
}

我可以用javascript编写并使用界面声明:I(&#34; test&#34;);

但我想在打字稿中做同样的事情。

2 个答案:

答案 0 :(得分:10)

你不能在课堂上这样做,但你可以用常规功能来做:

interface I {
    (name: string): void;
}

var C: I = function(name: string) {

};

C("test"); // ok
C(1);      // compile error

然后,如果您更改界面,将通过编译错误通知您更改C功能。

答案 1 :(得分:2)

类不能在TypeScript中使用调用签名。