JavaScript

Правила и методы проверки наличия значений null в JavaScript

Lorem ipsum dolor

 JavaScript (JS) проверка на «null» осуществляется при помощи оператора строгого равенства «===». Подробнее об этом поговорим чуть ниже, а пока давайте разберемся, что такое «null». Многие начинающие разработчики путают этот тип данных с «undefined», хотя между ними есть большая разница.

Язык программирования JavaScript несет в себе 2 группы типов данных:

  • объекты — представляют сложную структуру, состоящую из множества значений и аргументов;

  • примитивные данные — строка, символ, число, логическое значение и др.

Объект выглядит примерно так:

let SimpleObject = {

  firstName: `Дормидонт`

};

 

Однако может случиться такое, что объект вроде бы есть, но по каким-то причинам у него отсутствуют значения и аргументы. В таких ситуациях в JavaScript применяется примитивное значение «null», которое как раз указывает не на отсутствие объекта, а на отсутствие аргументов у объекта. Например:

let SimpleObject = null;

 

Что такое «null» в JavaScript

«Null» это примитивный тип данных, который показывает, что у объекта отсутствует какое-либо значение. Если «null» наблюдается в скрипте, тогда это означает одно — объект, который должен быть в скрипте, не создан, потому что не имеет никаких значений. Другими словами, он пуст.

Можно провести аналогию из реальной жизни. Например, вы в интернет-магазине выбрали и заказали себе робот-пылесос. Ваш пылесос приходит, упакованный в коробку по почте. Вы открываете коробку, а там пусто — ничего нет. Каким-то образом к вам пришел не робот-пылесос, а пустая коробка от него, потому что кто-то где-то ошибся. Пустая коробка — это переменная или объект со значением «null». Таким образом, мы видим, что объект определен — это «коробка с роботом-пылесосом», но он пустой (пылесоса в коробке нет).

Проверка в JS на «null»

Проверка на «null» в JS делается традиционным и рекомендованным способом — с использованием оператора строго равенства «===». Как это выглядит в коде:

const disappearedObject = null;

const presentObject = { message: 'Привет, Дормидонт!' };

disappearedObject  === null; // вернет нам «true»

presentObject === null; // вернет нам «false»

 

В коде видно, что:

  • «disappearedObject === null» вернет нам значение «true», потому что объект «disappearedObject» несет в себе значение «null»;

  • когда объект содержит какое-то значение, тогда проверка на «null» вернет значение «false», как у нас в примере: «presentObject === null» возвращает «false».

Проверка на «null» в JavaScript может быть осуществлена при помощи условных операторов. «Null» для условных операторов будет расцениваться как ложное значение «false». Кстати, такая же ситуация наблюдается и с «undefined», «NaN», «0», «`».

Как это выглядит в коде:

  Boolean(null); // вернет нам «false»

if (null) {

  console.log('«null» будет истинным значением');

} else {

  console.log('«null» будет ложным значением'); // в консоль нам вернется «`«null» будет ложным значением`»

 

Сравниваем «null» и «undefined»

«Undefined» означает, что переменную или объект не инициализировали, то есть не придали никакого значения. Если вернуться к нашему примеру с интернет-магазином, тогда по аналогии вы должны были оформить заказ без указания товара, который заказываете. Конечно, с интернет-магазином такая ситуация произойти не могла, а в JavaScript очень даже.

Например, вы объявили где-то переменную, но забыли присвоить ей начальное значение. Когда вы к ней обратитесь, результат будет «undefined». Как это может быть выражено в коде:

let exampleVariable;

examplevariable; // вернет значение «undefined»

 

Главное различие между «null» и «undefined» заключается в следующем:

  • «null» присутствует, когда объект или переменная определены, но находятся с пустым значением;

  • «undefiled» присутствует тогда, когда объект, переменная или значение вообще не определены.

Эти два значения можно сравнить между собой при помощи операторов сравнения. Если это сделать, то получим следующие результаты:

null === undefined // оператор строгого равенства «===» вернет нам значение «false»

null == undefined // оператор не строгого равенства «==» вернет нам значение «true»

 

Заключение

Проверка «null» в JS лучше всего осуществляется при помощи оператора строго равенства «===». Другие способы могут дать неожиданные результаты. Само по себе значение «null» говорит о том, что у объекта отсутствует значение, хотя оно там должно было быть. Как с нашим «пылесосом» он должен был быть в коробке, но коробка оказалась пустой.

Также нужно брать во внимание, что «null» и «undefined» в какой-то степени похожи, однако означают совсем разные вещи, поэтому при строгом сравнении этих двух значений мы получаем «false».

Схожие статьи

Как научиться делать JavaScript-анимации: виды и примеры
JavaScript

Как научиться делать JavaScript-анимации: виды и примеры

Консоль JavaScript: определение, как вывести, команды и итог
JavaScript

Консоль JavaScript: определение, как вывести, команды и итог

Интерпретатор JavaScript: объясняем работу движка на пальцах
JavaScript

Интерпретатор JavaScript: объясняем работу движка на пальцах

Учебный курс по React, часть 9: свойства компонентов
JavaScript

Учебный курс по React, часть 9: свойства компонентов