Was mache ich falsch in meinem unteren Code?Erweitern Array von TypeScript
Ich versuche, Array
auf meine Klasse MyNumberList
zu erweitern und dann zu versuchen, es zu verwenden. Was ich sehe, ist, dass anscheinend keine Gegenstände zur Liste hinzugefügt werden. Ich bekomme eine undefined
, wenn ich versuche, auf die Listenelemente zuzugreifen.
P. S Ich bin mit Typoskript 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 das ist interessant. Was Sie sagen, macht Sinn. Ich habe versucht, eine erstklassige Sammlung zu erstellen, in der ich die Funktionalität, die von 'Array' geerbt wurde, mit einigen domänenspezifischen Operationen erweitern würde. Es ist traurig, dass es nicht mit regulärer Syntax funktioniert. – codematix
Danke für Ihre Hilfe @ t-j-Crowder. Ihre Alternative zum Aufruf von 'this.push (... numbers)' scheint zu funktionieren. Ich muss jedoch tiefer basteln, um herauszufinden, was sonst noch passiert. TIL, wenn Sie TypeScript verwenden, ist es eine gute Idee, den transpilierten JavaScript-Code zu betrachten und zu verstehen. – codematix
großartige Forschung, Lösung funktioniert für mich – BobbyTables