Онлайн-курсы по JavaScript
Выбрать другой урок из курса
Теория урока

Логические выражения в JavaScript

Логические операторы очень часто используются в условных конструкциях (см. пример 0.1). Благодаря логическим операторам можно объединять два выражения в одно более сложное. Эта теория поможет вам в понимании пятого курса по JavaScript сайта codebra.

Пример 0.1
if (выражение) {

...
тело конструкции
...
}

Логический оператор И (&&)

Логическое И возвращает истину (true) только тогда, когда оба операнда имеют значение true. Если один или оба операнда имеют значение false, то оператор вернет false.

Пример 1
a == 1 && b == 2 /* -> если a = 1, b = 2, то true */

Все логические выражения возвращают истину (true) или ложь (false). Операторы отношения имеют более высокий приоритет, чем логические операторы, поэтому следующие две строки равны:

Пример 2
a == 1 && b == 2

(a == 1) && (b == 2)

Логический оператор ИЛИ (||)

Как и оператор &&, || работает с двумя операндами. Если один или оба операнда возвращают true, то оператор возвратит true, а если оба операнда false, то оператор вернет false. Работа этого оператора такова: вначале он проверяет левый операнд, в случае если он вернет true, то и оператор || вернет true (второй операнд проверять не имеет смысла), если первый операнд вернет false, то оператор || вернет значение второго (правого) операнда.

Пример 3
a == 1 || b == 2 /* -> если a = 1 или b = 2, то true */

Логический оператор НЕ (!)

В отличие от предыдущих двух операторов, оператор НЕ (!) помещается перед одиночным операндом (слева от операнда). Он инвертирует логическое значение своего операнда. Если операнд давал истинное (true) значение, то после применения оператора !, операнд вернет ложь (false). Если операнд был false, то после применения оператора !, операнда вернет истину (true). Оператор НЕ (!) имеет высокий приоритет.

Пример 4
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.ru полностью посвящен программированию. Все курсы и уроки находятся на главной странице. Вы можете начать изучение прямо сейчас, кликнув на ссылки: HTML, CSS, JavaScript, C++, PHP, jQuery, Python, Bootstrap 3

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно