Ошибка JavaScript: что значит undefined?
Переменная без значения, несуществующий индекс и отличие от null.
Все уроки · Уроки JavaScript: учимся с нуля
Переменная без значения
undefined — не всегда ошибка. Если переменную создали и не дали значение, её значение undefined.
let ad; console.log(ad); // undefined ad = "Murad"; console.log(ad); // Murad
Нет индекса или свойства
Несуществующий индекс массива и отсутствующее свойство объекта тоже возвращают undefined. Это говорит, что данных нет, и само по себе программу не останавливает.
let meyveler = ["Alma", "Armud", "Banan"];
console.log(meyveler[5]); // undefined
let telebe = { ad: "Aysel", yas: 20 };
console.log(telebe.soyad); // undefinednull и TypeError
null — пустое значение, которое программист поставил намеренно. undefined значит, что значение ещё не задавали. Чтение свойства у undefined даёт TypeError. Сначала проверьте.
let secilmis = null;
let telebe;
if (telebe !== undefined) {
console.log(telebe.ad);
} else {
console.log("Tələbə məlumatı yoxdur.");
}Вопросы
undefined — это ошибка? Само по себе нет. Значение не задано или запрошенных данных нет.
Чем отличается от null? null оставили пустым нарочно. undefined не задавали.
Когда бывает TypeError? Когда через точку читают свойство у undefined. Например telebe.ad, если telebe равен undefined.
Как проверить? if (ad === undefined). Если значение есть, ad !== undefined.