In ES6, können wir schließlich Unterklasse builtins wie Array
:Ist es sicher, die Pseudofunktion des Konstruktors zu überschreiben, wenn man Builtins untergliedert?
class Bar extends Array {
...
}
Ohne besondere etwas zu tun, die Array
Methoden, die normalerweise Array
Instanzen zurückkehren würde Bar
Instanzen zurückkehren wird, wenn durch eine Bar
genannt, da sie ihre Konstruktor nachschlagen Funktion durch Symbol.species
.
Nun sagen, ich habe eine benutzerdefinierte Konstruktorfunktion für Bar
definiert. Gibt es jeder Garantie wie zu wie statische und Mitglied Methoden von Array
rufen Sie den Konstruktor sie durchschauen Symbol.species
? Ist es, kurz gesagt, jemals sicher, einen benutzerdefinierten Konstruktor für eine Unterklasse eines Built-ins wie Array
bereitzustellen?
In der Spezifikation, wieder. Ich denke, ich sollte öfter dort nachsehen! – Textfield
TBH, auch wenn sie nur 6 Methoden sind, ist ihr Verhalten in "Länge" überraschend inkonsistent. Vielleicht sollte ich ein Problem einreichen. – Bergi