Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

TypeError: calling a builtin X constructor without new is forbidden

Die JavaScript-Ausnahme "Der Aufruf eines eingebauten X-Konstruktors ohne new ist verboten" tritt auf, wenn Sie versuchen, einen eingebauten Konstruktor ohne das Schlüsselwort new aufzurufen. Alle modernen Konstruktoren, wie Promise und Map, müssen mit new aufgerufen werden.

Meldung

TypeError: Constructor X requires 'new' (V8-based)
TypeError: Promise constructor cannot be invoked without 'new' (V8-based)
TypeError: calling a builtin X constructor without new is forbidden (Firefox)
TypeError: calling X constructor without new is invalid (Safari)

Fehlertyp

TypeError

Was ist schiefgelaufen?

In JavaScript sind Funktionsaufruf ohne new und Funktionskonstruktion mit new zwei unterschiedliche Operationen, und Funktionen können sich je nachdem, wie sie aufgerufen werden, anders verhalten.

Mit Ausnahme der folgenden veralteten Konstruktoren müssen alle modernen Konstruktoren mit new aufgerufen werden:

Einige andere Konstruktoren, wie Date(), und primitive Wrapper, wie String(), Number(), und Boolean(), können auch mit oder ohne new aufgerufen werden, aber die Rückgabewerte unterscheiden sich in den beiden Fällen.

Auf jeder Konstruktorseite finden Sie Informationen darüber, ob der Konstruktor mit new aufgerufen werden muss.

Beispiele

Ungültige Fälle

js
const m = Map(); // TypeError: calling a builtin Map constructor without new is forbidden

Gültige Fälle

js
const m = new Map();

Siehe auch