Сравнение JavaScript

Сравнение и логические операторы используются для тестирования истина Или ложно.

Сравнительные операторы

Сравнительные операторы используются в логических операторах для определения того, равны ли переменные или значения.

Давайте дадим x = 5, в следующей таблице объясняется сравнительный оператор:

Оператор Описание Сравнение Возврат Тест
== Равен x == 8 ложно Попробуйте
x == 5 истина Попробуйте
x == "5" истина Попробуйте
=== Ценность равна и тип равен x === 5 истина Попробуйте
x === "5" ложно Попробуйте
!= Не равно x != 8 истина Попробуйте
!== Ценность не равна или тип не равен x !== 5 ложно Попробуйте
x !== "5" истина Попробуйте
x !== 8 истина Попробуйте
> > Больше ложно Попробуйте
< Меньше x < 8 истина Попробуйте
>= Больше или равно x >= 8 ложно Попробуйте
<= Меньше или равно x <= 8 истина Попробуйте

Как использовать

Сравнительные операторы могут использоваться в условных операторах для сравнения значений и выполнения действий в зависимости от результатов:

if (age < 18) text = "слишком молодой";

В следующих главах этого руководства вы узнаете больше о условных операторах.

Логические операторы

Логические операторы используются для определения логики между переменными или значениями.

Давайте дадим x = 6 и y = 3, в следующей таблице объясняется логический оператор:

Оператор Описание Пример Тест
&& И (x < 10 && y > 1) возвращает true Попробуйте
|| Или (x == 5 || y == 5) возвращает false Попробуйте
! Не !(x == y) возвращает true Попробуйте

Условный (трехзначный) оператор

JavaScript также включает условные операторы, которые могут присваивать значения переменным на основе某些 условий.

Синтаксис

variablename = (condition) ? value1:value2

Пример

var voteable = (age < 18) ? "слишком молодой":"достаточно зрелый";

Попробуйте сами

Если значение переменной age меньше 18, значение переменной voteable будет "слишком молодой", в противном случае значение переменной voteable будет "достаточно зрелый".

Сравнение различных типов

Сравнение данных разных типов может привести к неожиданным результатам.

Если сравнивать строку с числом, то JavaScript будет преобразовывать строку в числовое значение. Пустая строка будет преобразована в 0. Ненумерационная строка будет преобразована в значение, которое всегда будет ложно of NaN.

Кейс Значение Тест
2 < 12 истина Попробуйте
2 < "12" истина Попробуйте
2 < "Bill" ложно Попробуйте
2 > "Bill" ложно Попробуйте
2 == "Bill" ложно Попробуйте
"2" < "12" ложно Попробуйте
"2" > "12" истина Попробуйте
"2" == "12" ложно Попробуйте

Когда сравниваются два строки, "2" больше "12", потому что (по алфавитному порядку) 1 меньше 2.

Чтобы обеспечить правильный результат, перед сравнением переменной её следует преобразовать в подходящий тип:

age = Number(age);
if (isNaN(age)) {
    voteable = "ошибка ввода";
}
    voteable = (age < 18) ? "слишком молод" : "достаточно взрослый";
} 

Попробуйте сами