TypeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Das TypeError-Objekt repräsentiert einen Fehler, wenn eine Operation nicht ausgeführt werden konnte, typischerweise (aber nicht ausschließlich), wenn ein Wert nicht vom erwarteten Typ ist.

Ein TypeError kann ausgelöst werden, wenn:

  • ein Operand oder ein Argument, das an eine Funktion übergeben wird, nicht mit dem von diesem Operator oder dieser Funktion erwarteten Typ kompatibel ist; oder
  • wenn versucht wird, einen Wert zu ändern, der nicht geändert werden kann; oder
  • wenn versucht wird, einen Wert auf unangemessene Weise zu verwenden.

TypeError ist ein serialisierbares Objekt, sodass es mit structuredClone() geklont oder zwischen Arbeitern mit postMessage() kopiert werden kann.

TypeError ist eine Unterklasse von Error.

Konstruktor

TypeError()

Erstellt ein neues TypeError-Objekt.

Instanzeigenschaften

Erbaut auch Instanzeigenschaften von seinem übergeordneten Objekt Error.

Diese Eigenschaften sind auf TypeError.prototype definiert und werden von allen TypeError-Instanzen geteilt.

TypeError.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für TypeError-Instanzen ist der Anfangswert der TypeError-Konstruktor.

TypeError.prototype.name

Repräsentiert den Namen des Fehlertyps. Für TypeError.prototype.name ist der Anfangswert "TypeError".

Instanzmethoden

Erbt Instanzmethoden von seinem übergeordneten Objekt Error.

Beispiele

Abfangen eines TypeError

js
try {
  null.f();
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "null has no properties"
  console.log(e.name); // "TypeError"
  console.log(e.stack); // Stack of the error
}

Erstellen eines TypeError

js
try {
  throw new TypeError("Hello");
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "TypeError"
  console.log(e.stack); // Stack of the error
}

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

Browser-Kompatibilität

Siehe auch