Sto lottando per capire se è possibile a macchina di dichiarare una matrice a tipizzazione statica di funzioni.
Ad esempio, posso fare questo:
foo: (data:string) => void = function (data) {};
Ma se voglio foo ad essere una serie di funzioni che richiedono una stringa e restituiscono nulla, come posso fare questo?
foo: (data:string) => void [] = [];
Non funziona perché dattiloscritto pensa che sia una funzione che prende una stringa e restituisce un array di vuoto, e non sembra come me cercando di avvolgere la funzione tra parentesi.
Qualche idea?
Risposta : Grazie alla mohamed di sotto, ecco un esempio che funziona nel dattiloscritto Parco giochi:
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();













