Книга: JavaScript. Подробное руководство, 6-е издание
4.10.3. Логическое НЕ (!)
4.10.3. Логическое НЕ (!)
Оператор !
является унарным оператором, помещаемым перед одиночным операндом. Он используется для инверсии логического значения своего операнда. Например, если переменная х имеет истинное значение, то выражение !х
возвращает значение false
. Если х имеет ложное значение, то выражение !х
возвращает значение false
. (true - вообще-то)
В отличие от операторов &&
и ||
, оператор !
преобразует свой операнд в логическое значение (используя правила, описанные в главе 3) перед тем, как инвертировать его. Это означает, что оператор ! всегда возвращает true
или false
что всегда можно преобразовать любое значение х в его логический эквивалент, дважды применив этот оператор: !!х
(раздел 3.8.2).
Будучи унарным, оператор ! имеет высокий приоритет и тесно связан с операндом. Если вам потребуется инвертировать значение выражения, такого как р && q
, необходимо будет использовать круглые скобки: ! (р && q).
В булевой алгебре есть две теоремы, которые можно выразить на языке JavaScript:
// Следующие две проверки на идентичность дают положительный результат
// при любых значениях р и q
!(р && q) === !р || !q !(р || q) === !р && !q
- Безопасная работа с внешними таблицами
- Применение мьютекса и семафора
- 10.7. Пролог и логическое программирование
- Психологическое воздействие в маркетинговых коммуникациях
- 7.5. Феноменологическое определение семантики
- 7. ТЕХНОЛОГИЧЕСКОЕ ПОСТРОЕНИЕ КОМПЛЕКСНОЙ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ
- Психологическое реактивное сопротивление
- Логическое устройство
- Терминологическое введение
- 4.10.1. Логическое И (&&)
- 4.10.2. Логическое ИЛИ (||)
- Социологическое резюме