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.

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 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch