TypeError() constructor
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 constructor TypeError()
crea un nuevo error cuando una operación no puede ser realizada, típicamente (pero no exclusivamente) cuando un valor no es del tipo esperado.
Sintaxis
new TypeError();
new TypeError(message);
new TypeError(message, fileName);
new TypeError(message, fileName, lineNumber);
Parámetros
message
Opcional-
Descripción del error humanamente legible.
options
Opcional-
Un objeto con las siguientes propiedades:
cause
Opcional-
Una propiedad que indica la causa específica del error. Cuando se atrapa y relanza un error con un mensaje de error más especifico o útil, esta propiedad debe ser usada para pasar el error original.
fileName
Opcional No estándar-
El nombre del archivo contenedor del código que causa el error.
lineNumber
Opcional No estándar-
El número de la línea que contiene el código causante del error.
Ejemplos
Atrapando 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® 2025 Language Specification # sec-nativeerror-constructors |
Compatibilidad con navegadores
BCD tables only load in the browser