JavaScript · Middle · Frage 9 von 75
Warum muss ein Unterklassen-Konstruktor super() vor dem Zugriff auf this aufrufen?
- 1Der Elternkonstruktor erzeugt das Objekt; vor
super()gibt esthisnoch nicht - 2Das ist eine Linter-Konvention; die Sprache selbst verlangt diese Reihenfolge nicht
- 3Ohne
super()werden die Methoden der Elternklasse nicht in die Kindklasse kopiert
Antwort zeigen
Richtige Antwort: Der Elternkonstruktor erzeugt das Objekt; vor super() gibt es this noch nicht
Erklärung
In einer abgeleiteten Klasse erzeugt der Elternkonstruktor die Instanz, deshalb wirft ein Zugriff auf this vor super() einen ReferenceError. Die Methoden der Elternklasse werden nicht kopiert - sie sind über den Prototyp verfügbar.