Коротко о null и undefined
Null - ключевое слово языка. Обычно указывает на отсутствие значения. Typeof null вернет object.
Undefined - также указывает на отсутствие значения, но более глубокое.
Typeof undefined равно undefined.
- Заранее определенная глобальная константа (инициализируется значением undefined).
- Значение переменных, которые не были проинициализированы.
- Возвращается, если запрашивать значение объекта или метод массива, которых не существует
- Возвращается функцией, если не определено другого возвращаемого значения
- Значение параметра функции, для которой не передавалось значение
Не строгое сравнение покажет, что null и undefined равны, строго наоборот, что не равны.
Предполагается, что undefined отсутствие значения, приравненного к ошибке, а null намеренно указанное отсутствие значения.