Я изо всех сил, чтобы выяснить, если это возможно в машинописном объявить статически типизированный массив функций.
Например, я могу сделать это:
foo: (data:string) => void = function (data) {};
Но если я хочу Foo быть массив функций, которые принимают строку и не возвращать ничего, как я могу это сделать?
foo: (data:string) => void [] = [];
Не работаю, потому что машинопись думает, что это функция, которая принимает строку и возвращает массив пустоты, и это не похоже, как я пытаюсь обернуть эту функцию в скобках.
Есть идеи?
Ответ : Благодаря Mohamed ниже, вот пример , который работает в машинописи Playground:
class whatever {
public foo: { (data: string): void; }[] = [];
dofoo() {
for (var i=0; i < this.foo.length; i++) {
this.foo[i](test);
}
}
}
var d = new whatever();
d.foo.push(function(bar){alert(bar)})
d.foo.push(function(bar){alert(bar.length.toString())})
d.dofoo();













