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.
El objeto TypeError
representa un error cuando una operación no puede ser completada, típicamente (pero no exclusivamente) cuando un valor no es del tipo esperado.
Un TypeError
puede ser lanzado cuando:
- Un operando o argumento pasado a una función es incompatible con el tipo esperado por el operador o función.
- Cuando se intenta modificar un valor que no puede ser alterado.
- Cuando se intenta usar un valor de una forma inapropiada.
Constructor
TypeError()
-
Crea un nuevo objeto
TypeError
.
Propiedades de instancia
TypeError.prototype.message
-
Mensaje del error.
TypeError.prototype.name
-
Nombre del error. Heredado de
Error
. TypeError.prototype.cause
-
Causa del error. Heredado de
Error
. TypeError.prototype.fileName
Non-standard-
Ruta al archivo que ha lanzado este error. Heredado de
Error
. TypeError.prototype.lineNumber
Non-standard-
Numero de línea donde se ha lanzado este error. Heredado de
Error
. TypeError.prototype.columnNumber
Non-standard-
Numero de columna donde se ha lanzado este error. Heredado de
Error
. TypeError.prototype.stack
Non-standard-
Seguimiento de pila. Heredado de
Error
.
Ejemplos
Capturar un TypeError
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // Respuesta: true
console.log(e.message); // Respuesta: "null has no properties"
console.log(e.name); // Respuesta: "TypeError"
console.log(e.fileName); // Respuesta: "Scratchpad/1"
console.log(e.lineNumber); // Respuesta: 2
console.log(e.columnNumber); // Respuesta: 2
console.log(e.stack); // Respuesta: "@Scratchpad/2:2:3\n"
}
Crear un TypeError
try {
throw new TypeError("Hello", "someFile.js", 10);
} catch (e) {
console.log(e instanceof TypeError); // Respuesta: true
console.log(e.message); // Respuesta: "Hello"
console.log(e.name); // Respuesta: "TypeError"
console.log(e.fileName); // Respuesta: "someFile.js"
console.log(e.lineNumber); // Respuesta: 10
console.log(e.columnNumber); // Respuesta: 0
console.log(e.stack); // Respuesta: "@Scratchpad/2:2:9\n"
}
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-typeerror |
Compatibilidad con navegadores
BCD tables only load in the browser