Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
TypeError: Klassenkonstruktoren müssen mit 'new' aufgerufen werden
Die JavaScript-Ausnahme "class constructors must be invoked with 'new'" tritt auf, wenn einKlassenkonstruktor ohne dasnew Schlüsselwort aufgerufen wird. Alle Klassenkonstruktoren müssen mitnew aufgerufen werden.
In diesem Artikel
Nachricht
TypeError: Class constructor X cannot be invoked without 'new' (V8-based)TypeError: Class constructors cannot be invoked without 'new' (V8-based)TypeError: class constructors must be invoked with 'new' (Firefox)TypeError: Cannot call a class constructor without |new| (Safari)
Fehlertyp
TypeErrorWas ist schiefgelaufen?
Im JavaScript sind dasAufrufen einer Funktion ohnenew und dasErzeugen einer Funktion mitnew zwei verschiedene Operationen, und Funktionen können sich unterschiedlich verhalten, je nachdem, wie sie aufgerufen werden.
Traditionell wurden JavaScript-Funktionen sowohl als Konstruktoren als auch als normale Funktionen verwendet und können erkennen, wie sie mitnew.target aufgerufen wurden. Klassenkonstruktoren sind jedoch immer Konstruktoren und können nicht als normale Funktionen aufgerufen werden.
Beispiele
>Ungültige Fälle
class X {}X(); // TypeError: class constructors must be invoked with 'new'Gültige Fälle
class X {}new X();