ReferenceError: присваивание необъявленной переменной "x"
Исключение JavaScript "Assignment to undeclared variable", характерное только для строгого режима, возникает, когда значение присваивается необъявленной переменной.
Сообщение
ReferenceError: x is not defined (V8-based) ReferenceError: assignment to undeclared variable x (Firefox) ReferenceError: Can't find variable: x (Safari)
Тип ошибки
ReferenceError только в строгом режиме.
Что пошло не так?
У вас есть присваивание в форме x = ..., но x не была ранее объявлена с помощью ключевого слова var, let, или const. Эта ошибка возникает только в коде строгого режима. В нестрогом коде присваивание необъявленной переменной неявно создает свойство в глобальной области видимости.
Примеры
Неверные случаи
В этом случае переменная "bar" является необъявленной переменной.
function foo() {
"use strict";
bar = true;
}
foo(); // ReferenceError: assignment to undeclared variable bar
Верные случаи
Чтобы сделать "bar" объявленной переменной, вы можете добавить ключевое слово let, const, или var перед ней.
function foo() {
"use strict";
const bar = true;
}
foo();
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Undeclared_var