Понимание разницы между null
и undefined
Вступление
Null и Undefined - оба типа данных в JavaScript.
Не определено - это переменная, которая была объявлена, но ей не присвоено значение.
Null как значение присваивания. Таким образом, вы можете присвоить значение null
любой переменной, что означает, что она пуста.
Поэтому, не объявляя значение переменной, JavaScript автоматически присваивает значение undefined
. Однако, когда вы назначаете null
переменной, вы объявляете, что это значение явно пусто.
JavaScript никогда не присвоит значение null
автоматически. Это должно быть сделано вами в вашем коде.
Давайте узнаем об этом подробнее.
Typeof Null и Undefined
Здесь мы видим, что тип null
- это объект, а тип undefined
- не определен.
Сравнение с использованием абстрактного и строгого равенства
Поскольку это разные типы данных, если мы сравним их со строгим равенством ===
, мы получим false
.
Но если мы сравним их с абстрактным равенством ==
, мы получим true
.
Таким образом, JavaScript считает их относительно равными, поскольку оба они представляют собой пустое значение.
Поэтому, если вам нужно проверить, является ли значение null
или undefined
, вы можете проверить абстрактное равенство и сравнить его с null или undefined. Оба вернут одинаковый результат.