Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
25. Выражения отношений в 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
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
- Практики нет, просто нажмите «проверить задание»
– Не пропускайте новостей, подпишитесь на нашу страницу ВКонтакте, Telegram.
– На данный момент на сайте нет возможности оставлять комментарии, но Вы можете спросить в нашей Telegram-группе.
Это займет не больше минуты.