Page 117 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 117
Некоторых смущает тот факт, что строка " f a l s e " (ложь) является истиной
t
( r ue), но по большей части это имеет смысл и легко запоминается. Еще один из
вестный факт, что пустой массив - это r ue. Если вы хотите, чтобы массив arr да
t
l
вал false, когда он пуст, то используйте arr . e ngth (что даст О, если массив пуст,
а следовательно, false).
Операторы A N D, O R и N O T
JavaScript поддерживает три логических оператора: AND ( & &), OR ( 1 1 ) и NOT ( ! ) .
в
Если у вас есть математическая подготовка, ы знаете, что AND И ) - это конъюнк
(
ция, OR (ИЛИ) - дизъюнкция и NOT (НЕ) - инверсия.
В отличие от чисел, количество возможных значений которых бесконечно, логи
ческие переменные могут иметь только два возможных значения, поэтому эти опера
ции зачастую описываются таблицами истинности, в которых полностью описано
их поведение (см. табл. 5.2-5.4).
Табnица 5.2. Табnица истинности дnя оператора AND (&&)
х у Х & & У
false false false
false t r ue false
t r ue false false
t r ue t r ue true
Табnица 5.3. Таблица истинности дnя оператора OR ( 1 1 )
х у x 11 v
false false false
false t r ue true
t r ue false t r ue
t r ue t r ue t r ue
Таблица 5.4. Табnица истинности дпя оператора NOT ( ! )
х !Х
false t r ue
t r ue false
Как можно заметить из этих таблиц, результатом работы оператора AND будет
t r ue, только если оба из его операндов - t r ue; результатом оператора OR будет
f a l s e , только если оба его операнда - false. Оператор NOT прост, он получает
один операнд и возвращает обратное значение.
Оператор OR иногда называют включающим OR ("inclнsive OR''), поскольку, если
t
оба его операнда r ue, результат - t r ue. Есть также исключающее OR ("exclusive
OR") или XOR, возвращающий false, если оба операнда - t r ue. В JavaScript нет ло
гического оператора XOR, но есть побитовый XOR, обсуждаемый далее.
1 1 6 Глава 5 . В ы ражения и операторы

