Codebra
28 января 2026 в 11:44

Урок 24. Выражения отношений в JavaScript

Разберетесь с операторами равенства, неравенства и сравнения в JavaScript.
📝

Внимание! На этой странице вы найдете материал урока из архивного курса по JavaScript. Курс был написан в 2015 и по-прежнему актуален для начинающих веб-разработчиков.

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

Полный список уроков доступен по тегу Архивный курс по JavaScript и на странице первого урока.

Знания, полученные в этом и последующих уроках, нужны для понимания четвертой главы этого сайта. В этих уроках описаны операторы отношения: равно, не равно, больше, меньше и так далее. Выражения отношений всегда возвращают true (истина) или false (ложь). В основном применяются эти отношения в конструкции if, о которой вы узнаете очень подробно в следующей главе.

Операторы равенства и неравенства

Ранее вы уже знакомились с операторами и =, которые проверяют два значения на идентичность. Оба оператора принимают любые операнды и, в случае идентичности, возвращают true, а если не идентичны, то false. Различие между = и в том, что = более строго сравнивает (типы должны совпадать), а не строго (возможны преобразования). Не путайте =, и =. Первый = называется «присвоение», второй «равно», третий = «идентично».

Операторам и = есть противоположные != и !, которые выполняют проверку: «не равно», «не идентично». Если два операнда равны, то будет возвращено значение false. Далее посмотрим на таблицу, чем руководствуется оператор =, чтобы проверить на идентичность:

  • Если оба операнда null или undefined, то они идентичны
  • Если операнды имеют различные типы, то они не идентичны
  • Если оба операнда true или false, то они идентичны
  • Если один из операндов имеет значение NaN, то они не идентичны
  • Если оба операнда ссылаются на один и тот же объект, массив или функцию, то они идентичны

Оператор похож на оператор =, но менее строг, следовательно, имеет другие правила, но схожие с ===. Если значения операндов имеют разные типы, то JavaScript пытается преобразовать типы.

  • Если операнды имеют одинаковый тип, то они проверяются на идентичность. Если они идентичны, то они равны.
  • Если одно значение является строкой, а второе числом, то строка будет преобразовываться в число и после будет выполнено сравнение с преобразованной строкой
  • Если одно значение null, а второе undefined, то они равны
  • true преобразовывается в 1, а false в 0 и после выполняется сравнение с другими операндами
"0" == false    /* -> равны */
"0" === false   /* -> не идентичны */
"0" === "0"     /* -> идентичны */
"0" === 0       /* -> не идентичны */
"0" == 0        /* -> равны */

Операторы сравнения

Есть четыре оператора сравнения:

  • Меньше (<): оператор возвращает true, если первый операнд меньше, чем второй операнд; иначе возвращает false
  • Больше (>): оператор возвращает true, если первый операнд больше, чем второй операнд; иначе возвращает false
  • Меньше или равно (<=): оператор возвращает true, если первый операнд меньше или равен второму операнду; иначе возвращает false
  • Больше или равно (>=): оператор возвращает true, если первый операнд больше или равен второму операнду; иначе возвращает false

Сравнивать можно только числа и строки, остальные значения будут преобразовываться.

1 <= 1    /* -> истина */
1 <= 2    /* -> истина */
1 >= 2    /* -> ложь */

В следующем уроке познакомимся с логическими выражениями.

📝

Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу JavaScript.