Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
26. Логические выражения в JavaScript
Логические операторы очень часто используются в условных конструкциях (см. пример 0.1). Благодаря логическим операторам можно объединять два выражения в одно более сложное. Эта теория поможет вам в понимании пятого курса по JavaScript сайта codebra.
if (выражение) {
...
тело конструкции
...
}
Логический оператор И (&&)
Логическое И возвращает истину (true
) только тогда, когда оба операнда имеют значение true
. Если один или оба операнда имеют значение false
, то оператор вернет false
.
a == 1 && b == 2 /* -> если a = 1, b = 2, то true */
Все логические выражения возвращают истину (true
) или ложь (false
). Операторы отношения имеют более высокий приоритет, чем логические операторы, поэтому следующие две строки равны:
a == 1 && b == 2
(a == 1) && (b == 2)
Логический оператор ИЛИ (||)
Как и оператор &&
, ||
работает с двумя операндами. Если один или оба операнда возвращают true
, то оператор возвратит true
, а если оба операнда false
, то оператор вернет false
. Работа этого оператора такова: вначале он проверяет левый операнд, в случае если он вернет true
, то и оператор ||
вернет true
(второй операнд проверять не имеет смысла), если первый операнд вернет false
, то оператор ||
вернет значение второго (правого) операнда.
a == 1 || b == 2 /* -> если a = 1 или b = 2, то true */
Логический оператор НЕ (!)
В отличие от предыдущих двух операторов, оператор НЕ (!
) помещается перед одиночным операндом (слева от операнда). Он инвертирует логическое значение своего операнда. Если операнд давал истинное (true
) значение, то после применения оператора !
, операнд вернет ложь (false
). Если операнд был false
, то после применения оператора !
, операнд вернет истину (true
). Оператор НЕ (!
) имеет высокий приоритет.
var a = true;
document.write(!a) /* -> false */
var a = true, b = false;
a == true && !b == true /* -> true */
/*
* Вначале проверяется выражение в скобках
* b вернет истину, a вернет истину, оператор && тоже вернет истину
* после выражение в скобках инвентируется !()
* проверяется левый операнд. a вернет истина.
* b (правый операнд) вернет ложь
* выражение является ложным -> false
*/
a === true && !(b === false && a === true) /* -> false */
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
- Практики нет, просто нажмите «проверить задание»
– Не пропускайте новостей, подпишитесь на нашу страницу ВКонтакте, Telegram.
– На данный момент на сайте нет возможности оставлять комментарии, но Вы можете спросить в нашей Telegram-группе.
Это займет не больше минуты.