我想知道如何在 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/