Посмотреть все уроки курса
Выбрать другой урок из курса
Поиск по сайту
Теория урока

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие уроки и записи блога

Первое знакомство с PythonЗнакомство с Python
Работа с файлами в Python Знакомство с Python
Условная инструкция if-elif-else в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Типы данных в PythonЗнакомство с Python
Отношения между множествами и операции над нимиЗнакомство с Python
Погружение в PythonЗнакомство с Python
Управляющие последовательности в JavaScriptТипы и переменные
Основы объектно-ориентированного программирования (ООП) в PythonЗнакомство с Python
<
×
>
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно