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 = () => "";

09-25 22:25