Программирование

Ошибка 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); // undefined

null и 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.

Автор: Nibras Code