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

js
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

js
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

Véase también