在TypeScript中声明一个函数,它本身就是一个函数调用的结果?

时间:2015-11-13 19:08:16

标签: javascript typescript

在常规JS中,您可以执行以下操作:

function ConstructorFunc() {

    function innerFunc(){ console.log("hello"); }

    // Modify innerFunc prototype here...

    return innerFunc;

}

var MyFunc = ConstructorFunc();

MyFunc();
> hello

但是如何在TypeScript中执行此操作,因为以下操作不起作用

export function MyFunc = ConstructorFunc();

注意:我实际项目中的ConstructorFunc来自第三方库,因此无法更改,我只是为了简化问题而将其简化为此。

2 个答案:

答案 0 :(得分:0)

怎么样

var MyFunc = ConstructorFunc();
export MyFunc;

答案 1 :(得分:0)

为第三方库创建一个指定ConstructorFunc类型的接口。像这样:

interface ThirdPartyLibraryName {
    ConstructorFunc? (): () => any
}

如果任何函数具有必要的参数或返回类型,则必须更改此定义。因为你说你简化了它,我无法提供所需的确切定义。