Сравнение и логические операторы используются для проверки 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 = "Too young";
Вы узнаете больше об использовании условных операторов в следующей главе данного руководства.
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая , что x = 6 и y = 3 , в приведенной ниже таблице описываются логические операторы:
оператор | Описание | пример | Попробуй |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | Попробуй " |
|| | or | (x == 5 || y == 5) is false | Попробуй " |
! | not | !(x == y) is true | Попробуй " |
Условный (троичный) оператор
JavaScript также содержит условный оператор, который присваивает значение переменной на основании некоторого условия.
Синтаксис
variablename = ( condition ) ? value1 : value2
пример
var
voteable = (age < 18) ? "Too young":"Old enough";
Попробуй сам " Если переменная возраст является значение ниже 18, то значение переменной voteable будет "слишком молодых", в противном случае значение voteable будет "достаточно Старый".
Сравнение различных типов
Сравнение данных различных типов может привести к неожиданным результатам.
При сравнении строки с числом, JavaScript преобразует строку в число при выполнении сравнения. Пустая строка превращается в 0. нечисловая строка преобразуется в NaN , которое всегда ложно.
случай | Стоимость | Пытаться |
---|---|---|
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 = "Error in input";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
Попробуй сам " JavaScript Побитовые Операторы
Bit операторы работают на 32-разрядных чисел.
Любой числовой операнд в операции преобразуется в 32-битовое число.
Результат преобразуется обратно в число JavaScript.
оператор | Описание | пример | Такой же как | результат | Десятичная дробь |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
В приведенной выше таблице использования 4 бита без знака примеры. Но JavaScript использует 32-разрядные числа подписанных.
Из-за этого, в JavaScript, ~ 5 не вернется 10. Он вернется -6:
~ 00000000000000000000000000000101 вернется 11111111111111111111111111111010
Проверьте себя с упражнениями!
Упражнение 1 » Упражнение 2» Упражнение 3 » Упражнение 4» Упражнение 5 » Упражнение 6»