Чем отличается значение undefined от ошибки "is not defined"?
Уровень: Senior
Ответ
Undefined – это специальное значение в JavaScript, означающее \"неопределено\". Оно присваивается переменной, которая объявлена, но не инициализирована, или возвращается при отсутствии возвращаемого значения у функции, или при обращении к несуществующему свойству объекта. Ошибка же \"ReferenceError: x is not defined\" (\"не определена\") возникает, когда код пытается обратиться к переменной, которая вовсе не объявлена в текущей области видимости. То есть undefined – это значение, а \"not defined\" – это состояние переменной, когда интерпретатор её имени не знает вообще.