Cosa sto facendo male nel mio codice qui sotto?Estensione di Array da TypeScript
Sto provando ad estendere Array
sulla mia classe MyNumberList
e poi cercando di usarlo. Quello che vedo è che nessun elemento sembra essere aggiunto alla lista. Ricevo un valore undefined
quando tento di accedere agli elementi dell'elenco.
P.S Sto usando dattiloscritto 1.8.2
class MyNumberList extends Array<number> {
constructor(...numbers: number[]) {
// looks like this is not working
super(...numbers);
}
}
let statusCodes: MyNumberList = new MyNumberList(10, 20, 30);
console.log(statusCodes[0]); // printing undefined
console.log(statusCodes.length); // printing 0
Hmm è interessante. Quello che dici ha un senso. Stavo tentando di creare una collezione di prima classe in cui avrei aumentato la funzionalità ereditata da 'Array' con alcune operazioni specifiche del dominio. È triste che non funzionerà con la sintassi normale. – codematix
Grazie per l'aiuto @ t-j-crowder. La tua alternativa alla chiamata 'this.push (... numbers)' sembra funzionare. Tuttavia, potrei aver bisogno di un armeggiare più profondo per scoprire cos'altro si rompe. TIL, quando si usa TypeScript, è una buona idea guardare e capire il codice JavaScript transpiled. – codematix
ottima ricerca, la soluzione funziona per me – BobbyTables