Junior
49
questionbank

Можешь подробнее рассказать о различиях между null и undefined в JavaScript?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • undefined:

    • Присваивается переменным, которые были объявлены, но не инициализированы значением.
    • Является значением по умолчанию для параметров функций, которым не были переданы аргументы.
    • Получается при попытке доступа к несуществующему свойству объекта или элементу массива.
    • Тип данных — undefined.
  • null:

    • Является специальным значением, явно присваиваемым переменной для обозначения "отсутствия значения".
    • Представляет собой намеренное отсутствие какого-либо объекта или примитивного значения.
    • Тип данных — object (это историческая ошибка JavaScript, но так есть).

Основные различия в таблице:

Характеристикаundefinednull
ПроисхождениеНеявное (по умолчанию)Явное (присваивается разработчиком)
НазначениеОбъявлена, но не присвоено значениеНамеренное отсутствие значения
Тип данных (typeof)undefinedobject
Boolean контекстfalsefalse
Равенство (==)null == undefined (true)null == undefined (true)
Равенство (===)null === undefined (false)null === undefined (false)

Пример:

javascript