В JavaScript существует специальное смысловое значение для ключевого слова null. Не смотря на то, что оператор typeof возвращает объект, null в JavaScript является уникальным типом. Если необходимо обозначить, что значение числа, строк либо объекта отсутствует, используют значение null.

В отличие от null, undefined является именем глобальной переменной, которая инициализирована значением undefined, что свидетельствует о полном отсутствии какого-либо значения.

При всем том, что значения null и undefined имеют признаки отличия в отсутствии значения, они не редко сменяют друг друга. Операторы равенства == и идеинтичности === сравнивают оба значения по-разному. При ослабленной проверке оператор считает два значения равными, в то время как, более строгое сравнение дает противоположный результат.

Оба этих значения не имеют ни свойств, ни методов. При попытке обратиться к ним используя синтаксис точечной нотации или квадратных скобок будет вызвана ошибка TypeError.