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 derTypeError
-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
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
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