我可以定义一个函数返回具有特定签名的另一个函数

时间:2015-12-04 08:10:01

标签: typescript

我是打字稿的新手,我很喜欢它。但是现在我很难接受我在旧的js代码中返回函数的事实。所以我试着想一下如何用具体的签名定义返回类型“Function”。在这样的例子中(注意,这不编译):

function getAFunction(): Function(a: string, b: number) {
    return function(a: string, b: number): void {
        // some logic           
    }
}

这个特例还没有documentation,或者我只是监督它?

1 个答案:

答案 0 :(得分:2)

要回答您的问题,语法如下:

var a = function(): (a: string, b: number) => void {
    return (a: string, b: number) => void {
        // some logic           
    }
}

但是由于编译器执行类型推断,因此类型注释实际上是可选的:

var a = function() {
    return (a: string, b: number) => void {
        // some logic           
    }
}