undefined и null — "undefined vs. null revisited".Спецификация описывает эти значения следующим образом:
undefined используется как значение по умолчанию в неинициализированных переменных; null используется как значение, которое явно устанавливается разработчиком как признак отсутствия любого объектного значения.Для выбора между
undefined и null Аксель использует правило: undefined — это метазначение, которое существует на уровень выше кода программы, и оно означает, что что-то не существует или отсутствует; null — существует на уровне кода программы, и оно означает, что что-то "отключено". Мне не очень нравится метафора с "отключением" с помощью
null, но нравится идея undefined как метазначения. Как бы то ни было, статья полезная, рекомендую почитать.#js
https://2ality.com/2021/01/undefined-null-revisited.html