JavaScript Операторы сравнение, логические используются для проверки true или
false.
Операторы сравнения
Операторы сравнения используются в логических операторах для определения равенства или различия между переменными или значениями.
Учитывая, что x = 5, в таблице ниже объясняются операторы сравнения:
| Оператор | Описание | Сравнение | Возврат | Попробовать |
|---|---|---|---|---|
| == | равно | x == 8 | false | Попробовать » |
| x == 5 | true | Попробовать » | ||
| x == "5" | true | Попробовать » | ||
| === | равное значение и равный тип | x === 5 | true | Попробовать » |
| x === "5" | false | Попробовать » | ||
| != | не равный | x != 8 | true | Попробовать » |
| !== | не равное значение или не равный тип | x !== 5 | false | Попробовать » |
| x !== "5" | true | Попробовать » | ||
| x !== 8 | true | Попробовать » | ||
| > | больше, чем | x > 8 | false | Попробовать » |
| < | меньше, чем | x < 8 | true | Попробовать » |
| >= | больше или равно | x >= 8 | false | Попробовать » |
| <= | меньше или равно | x <= 8 | true | Попробовать » |
Как это можно использовать
Операторы сравнения могут использоваться в условных операторах для сравнения значений и принятия мер в зависимости от результата:
if (age < 18) text = "Слишком молод";
Вы узнаете больше об использовании условных операторов в следующей главе этого руководства.
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3, в таблице ниже объясняются логические операторы:
| Оператор | Описание | Пример | Попробовать |
|---|---|---|---|
| && | and | (x < 10 && y > 1) является true | Попробовать » |
| || | or | (x == 5 || y == 5) является false | Попробовать » |
| ! | not | !(x == y) является true | Попробовать » |
Условный (тернарный) оператор
JavaScript также содержит условный оператор, который присваивает значение переменной на основе некоторого условия.
Синтаксис
variablename = (condition) ? value1:value2
Пример
var
voteable = (age < 18) ? "Слишком молод":"Достаточно взрослый";
Попробуйте сами »
Если переменная age имеет значение ниже 18, значение переменной voiceable будет "Слишком молод", в противном случае значение voiceable будет "Достаточно старым".
Сравнение разных типов
Сравнение данных разных типов может дать неожиданные результаты.
При сравнении строки с числом JavaScript преобразует строку в число при выполнении сравнения. Пустая строка преобразуется в 0. Нечисловая строка преобразуется в NaN всегда false.
| Случай | Значение | Попробуй |
|---|---|---|
| 2 < 12 | true | Попробовать » |
| 2 < "12" | true | Попробовать » |
| 2 < "John" | false | Попробовать » |
| 2 > "John" | false | Попробовать » |
| 2 == "John" | false | Попробовать » |
| "2" < "12" | false | Попробовать » |
| "2" > "12" | true | Попробовать » |
| "2" == "12" | false | Попробовать » |
При сравнении двух строк "2" будет больше "12", потому что (по алфавиту) 1 меньше 2.
Чтобы обеспечить правильный результат, перед сравнением необходимо преобразовать переменные в соответствующий тип:
age = Number(age);
if (isNaN(age)) {
voteable = "Введено не число";
} else {
voteable = (age < 18) ? "Слишком молод" : "Достаточно взрослый";
}
Попробуйте сами »