TypeScript函数数组

时间:2013-02-02 14:39:46

标签: arrays function types typescript type-alias

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

例如,假设我有一个字段可以保存一个没有参数的函数并返回void:

private func: () => void;

现在,我想要一个可以容纳一系列此类函数的字段:

private funcs: () => void  [];

这显然是做我想要的错误方法,因为编译器认为这是一个返回空洞数组的函数。

尝试使用括号隔离内联原型声明,如下所示:

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

导致编译器错误。

有没有人知道如何实现这一目标?

1 个答案:

答案 0 :(得分:11)

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

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

如果看起来太奇怪,你也可以创建一个界面:

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

class etc {
    private funcs: foo[];
}