Онлайн-курсы по JavaScript
Выбрать другой урок из курса
Теория урока

Выражения отношений в 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 /* -> ложь */
<
×
>
Внимание! Впервые на этом сайте?

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

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

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

Закрыть окно