Понимание разницы между null и undefined

Вступление

Null и Undefined - оба типа данных в JavaScript.

Не определено - это переменная, которая была объявлена, но ей не присвоено значение.

Null как значение присваивания. Таким образом, вы можете присвоить значение null любой переменной, что означает, что она пуста.

Поэтому, не объявляя значение переменной, JavaScript автоматически присваивает значение undefined. Однако, когда вы назначаете null переменной, вы объявляете, что это значение явно пусто.

JavaScript никогда не присвоит значение null автоматически. Это должно быть сделано вами в вашем коде.

Давайте узнаем об этом подробнее.

Typeof Null и Undefined

Здесь мы видим, что тип null - это объект, а тип undefined - не определен.

Сравнение с использованием абстрактного и строгого равенства

Поскольку это разные типы данных, если мы сравним их со строгим равенством ===, мы получим false.

Но если мы сравним их с абстрактным равенством ==, мы получим true.

Таким образом, JavaScript считает их относительно равными, поскольку оба они представляют собой пустое значение.

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