Логічні операції
JavaScript підтримує різні логічні операції для роботи з булевими значеннями (true або false). Основні логічні операції включають && (логічне І), || (логічне АБО) та ! (логічне НІ).
Приведення типів
У логічних операціях відбувається приведення типів операндів. Тобто операнд постає як true або false. Тільки-но інтерпретатор бачить логічний оператор, то робить приведення типів, навіть якщо операнд спочатку не був булем.
До false у логічному вираженні приводяться такі значення: 0, NaN, null, undefined, порожній рядок і false. Ві інші значення приводяться до true.
Логічне «І»
В JavaScript логічне "І" позначається оператором &&.
вираз && виразЦей оператор використовується для визначення, чи обидва операнди є true. Якщо обидва операнди true, то вираз виконується як true, в іншому випадку результат є false.
true && true = true // математичне розуміння: 1 && 1 = 1
false && true = false // математичне розуміння: 0 && 1 = 0
true && false = false // математичне розуміння: 1 && 0 = 0
false && false = false // математичне розуміння: 0 && 0 = 0Але насправді в JavaScript логічне "І" повертає значення одного із операндів. Лівий операнд - якщо його можна привести до false, і правий - в інших випадках.
// "Спотикається" на null, який приводиться до false і повертає null
console.log("Result: ", null && undefined && "hello");
// Пропускає "1" і "спотикається" на undefined який приводиться до false
// повертає undefined
console.log("Result: ", 1 && undefined && null && "hello"); // undefined
// Всі операнди приводяться до true - повертається останній true
console.log("Result: ", 123 && true && "hello"); //helloЛогічне "І" також можна використовувати в складних умовах:
Тут, a > b тобто 20 > 10 це правда true
b < c тобто 10 < 15 це правда true
Як результат: true && true -> true
Якби хоч одне значення привелося до false, результатом виразу було б false.
a > b тобто 20 > 10 це правда true
b < c тобто 10 < 5 це хиба false
Як результат: true && false -> false
Трохи більше прикладів:
Логічне «АБО»
В JavaScript, логічне "АБО" позначається оператором ||.
Цей оператор використовується для визначення, чи хоча б один із операндів є true. Якщо хоча б один з операндів є true, то вираз виконується як true. Якщо обидва операнди є false, результат є false.
Але насправді в JavaScript логічне "АБО" повертає значення одного із операндів. Лівий операнд - якщо його можна привести до true, і правий - в інших випадках.
Логічне "АБО" можна використовувати в складних умовах:
a > b тобто 20 > 10 це правда true
b < c тобто 10 < 5 це хиба false
Як результат: true || false -> true
Якщо хоч одне значення привелося до true, результатом виразу буде true. Якщо всі операнди false, то результатом буде теж false.
a > b тобто 7 > 10 це хиба false
b < c тобто 10 < 5 це хиба false
Як результат: false || false -> false
Трохи більше прикладів:
Логічне «НЕ»
В JavaScript, логічне "НЕ" позначається оператором !. Цей оператор використовується для зміни булевого значення операнду на протилежне. Якщо операнд був true, він стає false, і навпаки.
Це унарний оператор, тобто викорує операцію над одним операндрм.
Додаткові матеріали
Last updated