Як працюють логічні оператори в JavaScript

17

Від автора: в JavaScript логічні оператори найчастіше використовуються там, де для ухвалення рішення використовуються декілька виразів, і на основі приймається певна умова. Вирази можуть приймати значення операторів not true і or. Часто їх асоціюють з умовами if.

Логічне І: &&

Порівнює два вирази і повертає true або false. Приклад:

var x = 5;
var y = «Monday»;
if (x > 3 && y == «Monday») {
console.log(«Success!»);
}

Значення порівнюються зліва направо; щоб умова повернуло «Success!» обидва вирази повинні бути true. Якщо обидва значення false, то ми ніколи не побачимо в консолі напис «Success!». Таблиця істинності:

Як працюють логічні оператори в JavaScript

Звичайно, може бути більше двох умов. Із зростанням складності загального виразу рекомендується використовувати дужки:

if ((x > 3) && (y == «Monday») && (year < 2016)) {
… код …
}

Поширена помилка використовувати один амперсанд в логічному І, це неправильно. Той же самий принцип і з оператором рівності. Важливо запам’ятати, що ви порівнюєте значення, тому необхідно використовувати подвійні символи.

Логічне АБО: ||

У порівнянні з АБО якщо будь-який вираз true, то умова виконується:

var a = 16;
var b = «Slpadash»;
if (a > 3 || b == «Exemplary») {
console.log(«Success!»);
}

У прикладі вище друге вираз ніколи не буде true, а перше буде. Так як ми використовували оператор АБО, код в умови виконається.

Логічне НЕ: !

У виразах порівняння працює за принципом «немає»:

var c = true;
var d = 1979;
if (c == true && d !== 1980) {
console.log(«Correct»);
}

У прикладі вище в консолі друкується слово «Correct». Порівняння читається «якщо змінна C true і змінна d не дорівнює 1980…». Оператор ! можна використовувати без додаткових операторів:

var c = false;
var d = 1979;
if (!c || d 1980) {
console.log(«Correct»);
}

Вираз читається «Якщо змінна З false або більше або менше 1980».

Висновок

Логічні оператори це ключ до створення комплексних умов в JavaScript, їх можна використовувати в різних шаблонах програмування, в тому числі і в тернарних операторах. Про тернарних операторах ми поговоримо в наступній статті.