TypeError
Baseline
Ampliamente disponible
*
Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde julio de 2015.
* Algunas partes de esta característica pueden tener distintos niveles de compatibilidad.
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-
Ruta al archivo que ha lanzado este error. Heredado de
Error. TypeError.prototype.lineNumber-
Numero de línea donde se ha lanzado este error. Heredado de
Error. TypeError.prototype.columnNumber-
Numero de columna donde se ha lanzado este error. Heredado de
Error. TypeError.prototype.stack-
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
| Especificación |
|---|
| ECMAScript® 2027 Language Specification> # sec-native-error-types-used-in-this-standard-typeerror> |