Операторы сравнения и логические операторы в JS
В этой статье вы познакомитесь с операторами сравнения и логическими операторами, которые можно использовать для условий в циклах.
Операторы сравнения в JavaScript
Оператор | Описание | Использование |
== | Равно: возвращает true, если операнды равны. В остальных случаях false. |
|
!= | Не равно: возвращает true, если операнды не равны. В остальных случаях false. | 5 != 5; // false |
=== | Строгое равно: возвращает true, если операнды равны и принадлежат одному типу. В остальных случаях false. | 5 === '5'; // false |
!== | Строгое не равно: возвращает true, если операнды не равны, или равны, но принадлежат разным типам. В остальных случаях false. | 5 !== '5'; // true |
> | Больше: возвращает true, если правый операнд больше, чем левый. В остальных случаях false. | 3 > 2; // true |
>= | Больше или равно: возвращает true, если правый операнд больше левого или равен ему. В остальных случаях false. | 3 >= 2; // true |
< | Меньше: возвращает true, если правый операнд меньше, чем левый. В остальных случаях false. |
|
<= | Меньше или равно: возвращает true, если правый операнд меньше левого или равен ему. В остальных случаях false. | 2 <= 2; // true |
Пример 1. Оператор равно
const a = 5, b = 2, c = "привет";
// оператор равно
console.log(a == 5); // true
console.log(b == '2'); // true
console.log(c == "Привет"); // false
Оператор ==
возвращает true
, если операнды равны.
Примечание. Обратите внимание, что
==
— это оператор сравнения, а=
— оператор присваивания. Не путайте их, иначе возникнет ошибка.
Пример 2. Оператор не равно
const a = 3, b = "привет";
// оператор не равно
console.log(a != 2); // true
console.log(b != "Привет"); // true
Оператор !=
возвращает true
, если операнды не равны.
Пример 3. Оператор строго равно
const a = 2;
// оператор строго равно
console.log(a === 2); // true
console.log(a === '2'); // false
Оператор ===
возвращает true
, если операнды равны и принадлежат одному и тому же типу. Здесь 2
и '2'
— одинаковые числа, но тип данных у них разный.
Примечание. Разница между
==
и===
заключается в том, что:
• оператор==
возвращает true, если операнды равны
• оператор===
возвращает true, только если операнды равны и имеют одинаковый тип.
Пример 4. Оператор строго не равно
const a = 2, b = "привет";
// оператор строго не равно
console.log(a !== 2); // false
console.log(a !== '2'); // true
console.log(b !== "Привет"); // true
Оператор !==
возвращает true
, если операнды строго не равны. Это полная противоположность оператору строго равно ===
.
В приведенном выше примере 2 !== '2
' возвращает true
. Так происходит потому, что у них одинаковые значения, но разные типы.
Пример 5. Оператор больше
const a = 3;
// оператора больше
console.log(a > 2); // true
Операто >
возвращает true
, если левый операнд больше правого операнда.
Пример 6. Оператор больше или равно
const a = 3;
// оператор больше или равно
console.log(a >= 3); //true
Оператор >=
возвращает true
, если левый операнд больше правого операнда или равен ему.
Пример 7. Оператор меньше
const a = 3, b = 2;
// оператор меньше
console.log(a < 2); // false
console.log(b < 3); // true
Оператор <
возвращает true
, если левый операнд меньше правого операнда.
Пример 8. Оператора меньше или равно
const a = 2;
// оператор меньше или равно
console.log(a <= 3) // true
console.log(a <= 2); // true
Оператор <=
возвращает true
, если левый операнд меньше правого операнда или равен ему.
Логические операторы в JavaScript
Логические операторы выполняют логические операции И (AND), ИЛИ (OR) и НЕ (NOT).
Оператор | Описание | Использование |
&& | Логическое И: возвращает true, если оба операнда true. В остальных случаях false. |
|
|| | Логическое ИЛИ: возвращает false, если оба операнда false. В остальных случаях true. | true || false; // true |
! | Логическое НЕ: возвращает true, если операнд false. Возвращает false, если операнд true. |
!true; // false |
Пример 1. Логический оператор AND
const a = true, b = false;
const c = 4;
// логическое И
console.log(a && a); // true
console.log(a && b); // false
console.log((c > 2) && (c < 2)); // false
Оператор &&
возвращает true
, если оба операнда true
, иначе возвращает false
.
Примечание. Логические операторы можно использовать и с числами. В JavaScript 0 оценивается как false, все ненулевые значения — true.
Пример 2. Логический оператор OR
const a = true, b = false, c = 4;
// логическое ИЛИ
console.log(a || b); // true
console.log(b || b); // false
console.log((c>2) || (c<2)); // true
Оператор ||
возвращает true
, если хотя бы один из операндов true
. Если оба операнда false
, результат — false
.
Пример 3. Логический оператор NOT
const a = true, b = false;
// логическое НЕ
console.log(!a); // false
console.log(!b); // true
Оператор !
возвращает true
, если операнд false
, и наоборот.