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 julio de 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
messageOpcional-
Descripción del error humanamente legible.
optionsOpcional-
Un objeto con las siguientes propiedades:
causeOpcional-
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.
fileNameOpcional No estándar-
El nombre del archivo contenedor del código que causa el error.
lineNumberOpcional 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® 2026 Language Specification> # sec-nativeerror-constructors> |