Мониторинг обменных курсов валют
18c0693f

Логические Операции


Логические операции обычно используются с Boolean (логическими) значениями; если они имеются, они возвращают Boolean/Булево значение. Однако операции && и в действительности возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Boolean значениями, они могут вернуть не-Boolean значение.

Реализованы в JavaScript 1.0
Версия ECMA ECMA-262

Логические операции описаны в следующей таблице.

Таблица 5.5    Логические Операции

Операция

Использование

Описание

&&expr1 && expr2

(Логическое И) Возвращает expr1, если может быть конвертировано в false; иначе, возвращает expr2. Таким образом, при использовании с Boolean-значениями && возвращает true, если оба операнда true; иначе возвращает false.

expr1 expr2 (Логическое ИЛИ) Возвращает expr1, если может быть конвертировано в true; иначе, возвращает expr2. Таким образом, при использовании с Boolean-значениями возвращает true, если любой из операндов true; если оба false, возвращает false.

!!expr

(Логическое НЕ) Возвращает false, если его единственный операнд может быть конвертирован в true; иначе возвращает true.

Примерами выражений, которые могут быть конвертированы в false, являются выражения, дающие при их вычислении null, 0, пустую строку ("") или undefined.

Хотя операции&& и можно использовать с не-Boolean-значениями, их можно продолжать рассматривать как Boolean-операции, поскольку их return-значения всегда могут быть конвертированы в Boolean-значения.

 

 Сокращённый Цикл Вычисления.

Поскольку логические выражения вычисляются слева направо, они тестируются на возможность "укороченного/short-circuit" вычисления по следующим правилам: