我需要像这样的箭头函数数组
//how can we contain the list of tasks?
private _tasks : ((x: T) => boolean)[];
constructor(...tasks : ((x: T) => boolean)[]) {
this._tasks = tasks;
}
有什么方法可以做到这一点吗?
答案 0 :(得分:2)
内联声明的括号错误。使用{
而不是(
:
class Foo<T>{
private _tasks: { ( x: T ): boolean }[];
constructor( ...tasks: { ( x: T ): boolean }[] ) {
this._tasks = tasks;
}
}
正如史蒂夫芬顿所说,我只是使用界面来删除重复。
答案 1 :(得分:1)
这似乎对我有用
private _tasks :Array<(x: T) => boolean>;
答案 2 :(得分:1)
您可以使用界面使类型更具可读性:
interface Task<T> {
(x: T) : boolean;
}
function example<T>(...tasks: Task<T>[]) {
}
example(
(str: string) => true,
(str: string) => false
);