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 < 16) text = "Ти занадто юна, щоб займатись сексом та вживати алкоголь!";
Ви дізнаєтесь більше про використання умовних інструкцій (операторів) в наступному розділі підручника на нашому сайті W3Schools українською.
Логічні оператори
Логічні оператори використовуються для визначення логіки між змінними або значеннями.
Враховуючи, що x = 6
та y = 3
, в таблиці нижче пояснюються логічні оператори:
Оператор | Опис | Приклад | Спробуй це |
---|---|---|---|
&& | and | (x < 10 && y > 1) є true | Спробуй це » |
|| | or | (x == 5 || y == 5) є false | Спробуй це » |
! | not | !(x == y) є true | Спробуй це » |
Умовний (тернарний) оператор
JavaScript також містить умовний оператор, який присвоює значення змінній на основі деякої умови.
Синтаксис
назвазмінної = (порівняння) ? значення1:значення2
Приклад
let voteable = (age < 16) ? "Занадто юна":"Достатньо доросла";
Спробуйте самі »
Якщо змінна age має значення менше 16, значення змінної, що підлягає голосуванню, буде "Занадто юна", в іншому випадку значення змінної буде "Достатньо доросла".
Порівняння різних типів
Порівняння даних різних типів може дати неочікувані результати.
При порівняння рядка з числом, 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) ? "Занадто юна" : "Достатньо доросла";
}
Спробуйте самі »