Although logical operators are usually used with Boolean (logical) values and return Boolean values, the && and || operators can be used with non-Boolean values, in which case they may return a non-Boolean value. <
Expressions that can be converted to false include those that evaluate to null, 0, the empty string (""), or undefined.
&& - Logical AND - returns its first operand if it can be converted to false. Otherwise, it returns the second operand.
|| - Logical OR - returns its first operand if it can be converted to true. Otherwise, it returns the second operand.
! - Logical NOT - returns false if its single operand can be converted to true. Otherwise, returns true. So, !true returns false, !false returns true, and !"Gog" returns false.
a |
b |
Logical AND: a && b returns: |
Logical OR: a || b returns: |
true |
true |
true |
true |
true |
false |
false |
true |
false |
true |
false |
true |
false |
(2==5) |
false |
false |
"Gog" |
"Magog" |
Magog |
Gog |
false |
"Magog" |
false |
Magog |
"Gog" |
false |
false |
Gog |
Short cuts:
false && anything always returns false,
true || anything always returns true.
When short cuts are used, the anything part is not evaluated, so there are no side effects from doing so.
Back to top Home Serious Stuff
© 2001. Copyright Sue Nethercott.