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