typescript 中的模块与接口(interface)兼容。例如以下是有效的:
module M{
var s = "test"
export function f(){
return s;
}
}
interface ITest{
f():string;
}
var x:ITest = M;
但是,在模块中是否可以有可调用的签名?具体来说,我该如何编写与以下接口(interface)兼容的模块:
interface ITest{
():string;
}
最佳答案
不,这是不可能的。唯一可以匹配调用签名的实体是一个函数
interface ITest{
():string;
}
var x:ITest = function() {return "";}
var y:ITest = () => "";