Книга: 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

Оглавление книги


Генерация: 0.276. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз