Использование неопределённого значения (undefined) и null в JavaScript отличается следующим образом:
- Undefined — это примитивное значение, используемое, когда переменной не было присвоено значение. stackoverflow.com Это значение по умолчанию для неинициализированных переменных, непереданных аргументов, результата функции, которая ничего не вернула, и отсутствующих полей объектов. qna.habr.com
- Null — это примитивное значение, представляющее нулевую, пустую или несуществующую ссылку. stackoverflow.com Его нужно явно присвоить переменной. ru.stackoverflow.com
Таким образом, null показывает, что получен какой-то результат, пусть и пустой, а undefined — что пока нет никакого результата. qna.habr.com
При этом значения null и undefined не эквивалентны друг другу, но оператор эквивалентности == считает их равными. javascript.ru