САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ

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) ? "Слишком юный" : "Достаточно стар";
}
Редактор кода »

Проверьте себя с помощью упражнений!

Упражнение:

Выберите правильный оператор сравнения для оповещения true, когда x больше, чем y.

x = 10;
y = 5;
alert(x  y);

Начните упражнения »