8c1dea14

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


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

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


Операция

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

&&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.

Вот примеры операции && (логическое И):

a1=true && true       // t && t возвращает true
a2=true && false      // t && f возвращает false
a3=false && true      // f && t возвращает false
a4=false && (3 == 4)  // f && f возвращает false

a5="Cat" && "Dog"     // t && t возвращает Dog

a6=false && "Cat"     // f && t возвращает false

a7="Cat" && false     // t && f возвращает false

Примеры операции (логическое ИЛИ):


o1= true true       // t t возвращает true

o2=false true      // f t возвращает true

o3=true false      // t f возвращает true

o4=false (3 == 4)  // f f возвращает false



o5="Cat" "Dog"     // t t возвращает Cat

o6=false "Cat"     // f t возвращает Cat

o7="Cat" false     // t f возвращает Cat

Примеры операции ! (логическое НЕ):

n1=!true              // !t возвращает false

n2=!false             // !f возвращает true

n3=!"Cat"             // !t возвращает false




Содержание раздела