Разница между null и неопределёнными переменными (undefined) в JavaScript заключается в том, что null обозначает намеренное отсутствие значения объекта (объект без заданной структуры), а undefined — что переменной (не объекту) ещё не присвоено значение. 1
null — это значение, которое присваивается переменной явно и означает, что переменная пустая, при этом компьютер точно знает, как с ней можно работать. 3
undefined представляет собой значение по умолчанию для переменной, которой не было присвоено значения, то есть объявленной, но не инициализированной переменной. 2 Также значение undefined возвращается при доступе к свойству объекта, которого у него нет, или при вызове функции, которая явно не возвращает значение. 5
Таким образом, null используется для присвоения переменной «пустого» или «неизвестного» значения, а undefined — для проверок, была ли переменная назначена. 4