Внимание! На этой странице вы найдете материал урока из архивного курса по 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.
