Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.
Mensagem
TypeError: "x" is (not) "y" Examples: TypeError: "x" is undefined TypeError: "x" is null TypeError: "undefined" is not an object TypeError: "x" is not an object or null TypeError: "x" is not a symbol
Tipo de erro
O que deu errado?
Houve um tipo inesperado. Isso ocorre muitas vezes com valores undefined
ou null
.
Além disso, certos métodos, tais como Object.create()
ou Symbol.keyFor()
, requerem um tipo específico, que deve ser fornecido.
Exemplos
Casos inválidos
// casos undefined e null nos quais o método substring não vai funcionar var foo = undefined; foo.substring(1); // TypeError: foo is undefined var foo = null; foo.substring(1); // TypeError: foo is null // Certos métodos podem precisar de um tipo específico var foo = {} Symbol.keyFor(foo); // TypeError: foo is not a symbol var foo = 'bar' Object.create(foo); // TypeError: "foo" is not an object or null
Consertando o problema
Para consertar o pointeiro nulo para valores undefined
ou null
, você pode utilizar o operador typeof , por exemplo.
if (typeof foo !== 'undefined') { // Agora nós sabemos que foo está definido, então podemos prosseguir. }