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 Non-standard-
El nombre del archivo contenedor del código que causa el error.
lineNumber
Opcional Non-standard-
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 Language Specification # sec-nativeerror-constructors |
Compatibilidad con navegadores
BCD tables only load in the browser