TypeScript 函数数组

Posted

技术标签:

【中文标题】TypeScript 函数数组【英文标题】:TypeScript array of functions 【发布时间】:2013-01-17 18:01:22 【问题描述】:

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

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

private func: () => void;

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

private funcs: () => void  [];

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

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

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

导致编译器错误。

有人知道如何实现吗?

【问题讨论】:

可能重复:***.com/q/12706161/24874 【参考方案1】:

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

private funcs:  (): void; [];

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

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


class etc 
    private funcs: foo[];

【讨论】:

以上是关于TypeScript 函数数组的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript类型断言数组的类型函数的类型

用于检查数组中的重复项的通用 Typescript 函数

将数组传递给 TypeScript 中的可变参数函数

TypeScript 中的递归函数 - 父数组

TypeScript 无法在扩展语法函数调用中推断数组类型

为什么Typescript不能使用包含函数的数组?