--- title: 'ReferenceError: Atribuição à variável não declarada "x"' slug: Web/JavaScript/Reference/Errors/Undeclared_var translation_of: Web/JavaScript/Reference/Errors/Undeclared_var ---
ReferenceError: Atribuição à variável não declarada "x"(Firefox) ReferenceError: "x" não está definido (Chrome) ReferenceError: Variável indefinida em strict mode (Edge)
{{jsxref("ReferenceError")}} aviso em strict mode somente.
Um valor foi atribuído a uma variável não declarada. Em outras palavras, houve uma atribuição sem a palavra-chave var. Existem algumas diferenças entre as variáveis declaradas e não declaradas, o que pode levar a resultados inesperados e é por isso que o JavaScript apresenta um erro no modo estrito.
Três coisas a observar sobre as variáveis declaradas e não declaradas:
Para mais exemplos, veja a página de referência var
.
Erros sobre atribuições de variáveis não declaradas ocorrem apenas em código de modo estrito. Em código não-estrito, eles são silenciosamente ignorados.
neste caso, a variavel "bar" é uma variavel não declarada.
function foo() { "use strict"; bar = true; } foo(); // ReferenceError: assignment to undeclared variable bar
Para fazer uma variável declarada "bar", você pode adicionar a palavra-chave var na frente dele.
function foo() { "use strict"; var bar = true; } foo();