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.

* Some parts of this feature may have varying levels of support.

O objeto TypeError representa um erro de quando um valor não é do tipo esperado.

Sintaxe

new TypeError([message[, fileName[, lineNumber]]])

Parâmetros

message

Opcional. Mensagem, descrição do erro

fileName Non-standard

Opcional. O nome do arquivo contendo o código que causou a exceção

lineNumber Non-standard

Opcional. O número da linha do código que causou a exeção

Descrição

O TypeError é ativado quando um operador ou argumento passado para uma função é incompativel com o tipo esperado por esse operador ou função.

Propriedades

TypeError.prototype

Permite a adição de propriedades para o objeto TypeError.

Métodos

O TypeError global não contém métodos por si só, no entanto, ele herda alguns métodos através da cadeia prototype.

Instâncias TypeError

Propriedades

Métodos

Exemplos

Capturando um TypeError

js
try {
  null.f();
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "null has no properties"
  console.log(e.name); // "TypeError"
  console.log(e.fileName); // "Scratchpad/1"
  console.log(e.lineNumber); // 2
  console.log(e.columnNumber); // 2
  console.log(e.stack); // "@Scratchpad/2:2:3\n"
}

Criando um TypeError

js
try {
  throw new TypeError("Hello", "someFile.js", 10);
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "TypeError"
  console.log(e.fileName); // "someFile.js"
  console.log(e.lineNumber); // 10
  console.log(e.columnNumber); // 0
  console.log(e.stack); // "@Scratchpad/2:2:9\n"
}

Especificações

Specification
ECMAScript® 2025 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também