arrays - TypeScript 函数数组

标签 arrays function types typescript type-alias

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

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

private func: () => void;

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

private funcs: () => void  [];

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

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

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

导致编译错误。

有人知道如何实现吗?

最佳答案

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

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

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

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

class etc {
    private funcs: foo[];
}

关于arrays - TypeScript 函数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14662995/

相关文章:

javascript - "for"循环和 array.reduce 在 Javascript 中的超时/低效率错误

Typescript - 从接口(interface)实现匿名对象

c# - 具有不同设置和获取类型的访问器?

c - 定义类型的顺序

java - 在 java 中通过 objectoutputstream 发送字节数组

c - 我想让它崩溃,但它没有

javascript - apply 如何与采用逗号分隔参数的函数配合使用?

java - 通过Void方法设置实例变量而不是获取返回值

c++ - 按引用调用和按值调用

javascript - 在javascript中,如何传递带有参数的函数以供以后调用?