2013-02-02 46 views
6

我在想如何在TypeScript中声明一个类型函数数组。TypeScript数组函数

例如,说我有可容纳没有参数并返回void的函数场:

private func:() => void; 

现在,说我想能容纳这样的功能的阵列场:

private funcs:() => void []; 

这显然是做错我的意图的方法,因为编译器认为这是一个返回空白数组的函数。

试图内嵌原型说明用括号隔离如:

private funcs2: (() => void ) []; 

导致编译错误。

有没有人有这样的想法可以完成?

+0

可能重复的: http://stackoverflow.com/q/12706161/24874 –

回答

8

你需要使用完整的类型文字语法而不是=>简写:

private funcs: {(): void; }[]; 

你也可以将一个接口,如果看起来太奇怪了:

// (elsewhere at top-level) 
interface foo { 
    (): void; 
} 

class etc { 
    private funcs: foo[]; 
}