От автора: в JavaScript логические операторы чаще всего используются там, где для принятия решения используются несколько выражений, и на основе каждого принимается определенное условие. Выражения могут принимать значения операторов not true и or. Часто их ассоциируют с условиями if.
Логическое И: &&
Сравнивает два выражения и возвращает true или false. Пример:
1 2 3 4 5 |
var x = 5; var y = "Monday"; if (x > 3 && y == "Monday") { console.log("Success!"); } |
Значения сравниваются слева направо; чтобы условие вернуло «Success!» оба выражения должны быть true. Если оба значения false, то мы никогда не увидим в консоли надпись «Success!». Таблица истинности:
Конечно, может быть более двух условий. С ростом сложности общего выражения рекомендуется использовать скобки:
1 2 3 |
if ((x > 3) && (y == "Monday") && (year < 2016)) { ... код ... } |
Распространенная ошибка использовать один амперсанд в логическом И, это неправильно. Тот же самый принцип и с оператором равенства. Важно запомнить, что вы сравниваете значения, поэтому необходимо использовать двойные символы.
Логическое ИЛИ: ||
В сравнении по ИЛИ если любое выражение true, то условие выполнится:
1 2 3 4 5 |
var a = 16; var b = "Slpadash"; if (a > 3 || b == "Exemplary") { console.log("Success!"); } |
В примере выше второе выражение никогда не будет true, а первое будет. Так как мы использовали оператор ИЛИ, то код в условии выполнится.
Логическое НЕ: !
В выражениях сравнения работает по принципу «нет»:
1 2 3 4 5 |
var c = true; var d = 1979; if (c == true && d !== 1980) { console.log("Correct"); } |
В примере выше в консоли напечатается слово «Correct». Сравнение читается «если переменная C true и переменная d не равна 1980…». Оператор ! можно использовать без дополнительных операторов:
1 2 3 4 5 |
var c = false; var d = 1979; if (!c || d <> 1980) { console.log("Correct"); } |
Выражение читается «Если переменная С false или больше или меньше 1980».
Заключение
Логические операторы это ключ к созданию комплексных условий в JavaScript, их можно использовать в различных шаблонах программирования, в том числе и в тернарных операторах. О тернарных операторах мы поговорим в следующей статье.
Источник: //thenewcode.com/
Редакция: Команда webformyself.
Комментарии (2)