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

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

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

private func: () => void;

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

private funcs: () => void  [];

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

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

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

导致编译器错误。

有人知道如何实现吗?

【问题讨论】:

标签: arrays function types typescript type-alias


【解决方案1】:

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

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

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

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

class etc {
    private funcs: foo[];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 2020-10-26
    • 2022-01-22
    • 2019-08-29
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    相关资源
    最近更新 更多