Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
TypeError: "x" is (not) "y"
Mensagem
Tipo do erro: "x" é (não é) "y"Exemplos:Tipo do erro: "x" é indefinidoTipo do erro: "x" é nuloTipo do erro: "x" indefinido" não é um objetoTipo do erro: "x" não é um objeto ou é nuloTipo do erro: "x" não é um símbolo
In this article
Tipo de erro
O que deu errado?
Houve um tipo inesperado. Isso ocorre muitas vezes com valoresundefined ounull.
Além disso, certos métodos, tais comoObject.create() ouSymbol.keyFor(), requerem um tipo específico, que deve ser fornecido.
Exemplos
>Casos inválidos
js
// casos undefined e null nos quais o método substring não vai funcionarvar foo = undefined;foo.substring(1); // TypeError: foo is undefinedvar foo = null;foo.substring(1); // TypeError: foo is null// Certos métodos podem precisar de um tipo específicovar foo = {};Symbol.keyFor(foo); // TypeError: foo is not a symbolvar foo = "bar";Object.create(foo); // TypeError: "foo" is not an object or nullConsertando o problema
Para consertar o pointeiro nulo para valoresundefined ounull, você pode utilizar o operadortypeof , por exemplo.
js
if (typeof foo !== "undefined") { // Agora nós sabemos que foo está definido, então podemos prosseguir.}