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 durchgeführt werden konnte, typischerweise (aber nicht ausschließlich), wenn ein Wert nicht den erwarteten Typ hat.

Ein TypeError kann ausgelöst werden, wenn:

  • ein Operand oder Argument, das einer 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 verändert werden kann; oder
  • wenn versucht wird, einen Wert auf unangemessene Weise zu verwenden.

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

TypeError ist eine Unterklasse von Error.

Konstruktor

TypeError()

Erstellt ein neues TypeError-Objekt.

Instanz-Eigenschaften

Erbt auch Instanz-Eigenschaften von seinem übergeordneten Error.

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

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 für den Fehlertyp. Für TypeError.prototype.name ist der Anfangswert "TypeError".

Instanz-Methoden

Erbt Instanz-Methoden von seinem übergeordneten 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® 2025 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

Browser-Kompatibilität

Siehe auch