undefined означает, что переменная была объявлена, но ещё не получила значениеnull представляет намеренное отсутствие значения — явно установленное разработчикомundefined присваивается автоматически JavaScript, когда переменная объявлена без значения:
let x; // x is undefined
null необходимо присвоить вручную, чтобы обозначить пустое или неизвестное значение:
let x = null; // intentionally empty
typeofОператор typeof возвращает разные результаты для каждого:
typeof undefined возвращает "undefined"typeof null возвращает "object"Результат "object" для null — это известный исторический баг в JavaScript, который никогда не был исправлен, чтобы сохранить обратную совместимость.
Используй null, когда ты намеренно хочешь обозначить «нет значения». Воспринимай undefined как сигнал того, что что-то ещё не инициализировано.
Оператор typeof возвращает "undefined" и для null, и для undefined.
Новый — ещё не проверен сообществом
Вы