Назад к вопросам
Junior
87
questionbank

Расскажи подробнее о значениях null и undefined в JavaScript.

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • undefined:

    • Неявное значение, присваиваемое переменным, которые были объявлены, но не инициализированы.
    • Также возвращается функциями, которые явно не возвращают значение.
    • Это примитивный тип данных.
    • Оператор typeof возвращает строку "undefined".
  • null:

    • Явное значение, специально присвоенное переменной для обозначения отсутствия какого-либо объекта.
    • Представляет собой преднамеренное отсутствие любого значения объекта.
    • Это примитивный тип данных, но оператор typeof некорректно возвращает "object" (исторический баг).
Свойство undefined null
Происхождение Неявное (системой) Явное (разработчиком)
Тип Примитивный Примитивный (хотя typeof - object)
Значение Неинициализированная переменная Отсутствие объекта
// Пример undefined
let uninitializedVar;
console.log(uninitializedVar); // undefined

function noReturnValue() {
  // нет return
}
console.log(noReturnValue()); // undefined
console.log(typeof uninitializedVar); // undefined

// Пример null
let objectVar = null;
console.log(objectVar); // null
console.log(typeof objectVar); // object (исторический баг)