- Теория
- Теория
Равенство, неравенство
В прошлом задании мы потренировались использовать операторы >
, <
, >=
и <=
. Но в JavaScript можно также проверить значения только на равенство и неравенство. При этом используют операторы ==
, !=
, ===
и !==
.
Оператор | Название | Действие |
---|---|---|
== | Нестрогое равенство (с приведением типов) | Сравнивает два значения, перед этим приводит одно из значений к типу другого. Если значения равны, возвращает true . |
=== | Строгое равенство (без приведения типов) | Сравнивает два значения. Если типы значений разные или значения не равны, возвращает false . |
!= | Неравенство (с приведением типов) | Сравнивает два значения, перед этим приводит одно из значений к типу другого. Если значения не равны, возвращает true . |
!== | Строгое неравенство (без приведения типов) | Сравнивает два значения. Если типы значений разные или значения не равны, возвращает true . |
Что значит «приводит или не приводит значения к одному типу»? Рассмотрим на примерах.
console.log('123' == 123); // Выведет true
console.log('123' != 123); // Выведет false
Строка и число окажутся равны друг другу. Так происходит, потому что при сравнении разных типов с помощью ==
значения приводятся к единому типу. Например, строка '123'
превращается в число 123
. А число 123
равно числу 123
, поэтому сравнение возвращает true
. По этой же причине неравенство !=
возвращает для этих значений false
— их можно привести к одному типу, и тогда они будут равны друг другу.
console.log('123' === 123); // Выведет false
console.log('123' !== 123); // Выведет true
В этом случае результат получается противоположным. Строгое равенство ===
не приводит значения к одному типу, а сравнивает как есть: строку и число. А строка, какое бы значение она ни содержала, не равна числу, поэтому сравнение на равенство возвращает false
. Зато строгое неравенство для таких значений возвращает true
.
Потренируемся использовать операторы равенства.
Операторы «больше или равно» и «меньше или равно» приводят данные к одному типу. В этом случае равенство получается нестрогим.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.