JavaScript Сравнения и логические операторы
Сравнение и логические операторы используются для проверки на
true
или false
.
Оператор сравнения
Операторы сравнения используются в логических операторах для определения равенства или различия между переменными или значениями.
Учитывая, что x = 5
, в таблице ниже объясняются операторы сравнения:
Если 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 | Редактор кода » |
Как его можно использовать
Операторы сравнения можно использовать в условных операторах для сравнения значений и принять меры в зависимости от результата:
Если (age < 18) text = "Слишком юный";
Более подробно об использовании условных операторов вы узнаете в следующей главе этого руководства.
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6
и y = 3
, в таблице ниже объясняются логические операторы:
Оператор | Описание | Пример | Редактор кода |
---|---|---|---|
&& | И | (x < 10 && y > 1) будет true | Редактор кода » |
|| | ИЛИ | (x == 5 || y == 5) будет false | Редактор кода » |
! | НЕ | !(x == y) будет true | Редактор кода » |
Условный (троичный) оператор
Кроме того, JavaScript содержит условный оператор, который присваивает значение переменной на основе некоторого условия.
Синтаксис
имя_переменной = (кондиция) ?значение1:значение2
Пример
var
voteable = (age < 18) ? "Слишком молод":"достаточно стар";
Редактор кода »
Если переменная возраст меньше 18 , значение переменной voteable
будет "слишком молод"
, в противном случае значение
voteable
будет "достаточно стар"
.
Сравнение различных типов
Сравнение данных разных типов может дать неожиданные результаты.
При сравнении строки с числом JavaScript преобразует строку в число при сравнении. Пустая строка превращается в 0. Нечисловая строка преобразуется в NaN, которая всегда false.
Пример | Значение | Редактор |
---|---|---|
2 < 12 | true | Редактор кода » |
2 < "12" | true | Редактор кода » |
2 < "Андрей" | false | Редактор кода » |
2 > "Андрей" | false | Редактор кода » |
2 == "Андрей" | 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) ? "Слишком юный" : "Достаточно стар";
}
Редактор кода »