САЙТЫ  ПОД  КЛЮЧ
ОНЛАЙН-СЕРВИСЫ СПРАВОЧНИКИ SEO-ИНСТРУМЕНТЫ РАЗВЛЕЧЕНИЯ

Справочник Javascript

Логические операторы

Описание, примеры

Логические операторы, как правило, используются с булевыми значениями и возвращают булево значение.

Однако, в javascript операторы && и || возвращают не булево значение, а один из операндов, определивший значение выражения. Конечно, результат в таком случае может быть и не булевым.

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

Оператор Использование Описание
Логическое И (&&) expr1 && expr2 Возвращает expr1, если оно может быть преобразовано к false; в ином случае возвращает expr2. Так что, при вызове с булевыми значениями, && вернет true только если оба операнда истинны, иначе false.
Логическое ИЛИ (||) expr1 || expr2 Возвращает expr1, если оно может быть преобразовано к true; в ином случае возвращает expr2. Так что, при вызове с булевыми значении, || вернет true только хотя бы один операнд истинен, иначе вернет false.
Логическое НЕ (!) !expr Возаращает false, если операнд может быть преобразован к true, в ином случае возвращает true.

К false преобразуются, например: null, 0, пустая строка ("") и undefined.

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

Оператор ! также используется для быстрого преобразования выражения к булевому значению:

Пример:
!!"string" = true
!!null = false

Сокращенные вычисления

Так как логические выражения вычисляются слева направо, они проверяются на возможность "сокращенных вычислений" по следующим правилам:

  • false && что угодно становится false.
  • true || что угодно становится true.

Эти правила логики гарантируют, что результат всегда правильный, но лишних вычислений при этом не проводится. Как следствие, невычисленные выражения не дадут побочных эффектов:

Пример:
a =1
check = 5 || (a=3)
 
alert(a) // 1

 

Дежурная шутка

Вот прочитал в интернете, что репчатый лук улучшает память.
— Сейчас выйду из интернета, почищу луковицу, разрежу её пополам и начну натирать луком жесткий диск моего тормозного ноутбука.


Наши реквизиты
WMID: 309688839848
WMR: R325885159214
E-mail: 
  BL:Бизнес-уровень [BL]
QR-код сайта
Онлайн-радио
Больше радиостанций