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?

Реализация паттерн Singleton Java (Одиночка): подводные камни
JavaScript

Реализация паттерн Singleton Java (Одиночка): подводные камни

Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX
JavaScript

Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

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

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

×