05 Js Boolean Logical Operators

Логические (булевые) переменные и операторы логики #

Таблица истинности #

a b a && b a || b ! a
false false false false true
false true false true true
true false false true false
true true true true false

Давайте представим себе пример из жизни: мы ищем на сайте все статьи, которые мы опубликовали и комментировали. Должны быть два совпадения — это вариант a && b. Или мы ищем все статьи, в которых есть упоминание слов “алгебра” или “математика” — это a || b. А отыскать все статьи, которые написаны не нами, можно, применив логический оператор !a. Стать исключительно космонавтом, но не медиком — это a && !b

Это так называемые булевы или логические операции. В интернете много материала по ключевым словам: таблица истинности, булева алгебра, теория множеств, конъюнкция, дизъюнкция.

С помощью таблицы с результатами логических операций можно перепроверить работу JS:

Логические операторы, которые поддерживаются JS #

Логический операторы Значение
== Проверка с приведением к общему типу на соответствие (допустим, что a равен b)
=== Проверка на соответствие (допустим, что a равен b)
= ПРИСВОИТЬ (a присвоим 7)
!= Не равно (если a не равно b, то)
! Отрицание, логическое не
&& Логическое И, and
|| Логическое или, or

Дизъюнкция #

Когда мама ИЛИ папа дают мне деньги на карманные расходы, то я бегу и покупаю себе мороженное.

Знакомая ситуация, деньги можно получить в трёх случах из четырёх. В одном случае же деньги может дать и мама, и папа, тогда и друга можно угостить мороженным.

Это дизъюнкция.

Дизъюнкция - логическое сложение, логическое ИЛИ, включающее или, просто “или”(англ. OR; нем. ODER) В JS оператор "||"

let a = false, b = true, c;
c = a || b;

Пример в технике; дублирование выключателя или кнопки, дверной звонок и звонок у калитки вызывают одну и туже реакцию - включается мелодия звонка.

В учебниках можно встретить обозначение “больше либо равно единице” - =>1.

Конъюнкция #

Конъюнкция - логическое “И”, логическое умножение, просто “И”, “AND”, "&".

В JS оператор "&&".

let a = false, b = true, c;
c = a && b;

Если светит солнце “И” у меня выходной, то я иду купаться на озеро.

Пример из жизни. Ядерный чемоданчик могут активировать только два офицера одновременно. По отдельности чемодан остаётся неактивным.

Амперсанд — это название знака &.
Пайп (pipeline), Вертикальная черта — это название знака |.
=== - equals.
Мы ещё раз рассмотрим данные операторы позже. Пока мы должны понимать, что с арифметическими операторами всё немного сложнее, чем хотелось бы.

comments powered by Disqus