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 .   В ы ражения и операторы
   112   113   114   115   116   117   118   119   120   121   122