The logical AND operator in JavaScript is indicated by the double ampersand (&&): | |||||||||||||||
| |||||||||||||||
Logical AND behaves as described in the following truth table: | |||||||||||||||
| |||||||||||||||
Logical AND can be used with any type of operands, not just Boolean values. When either operand is not a primitive Boolean, logical AND does not always return a Boolean value: | |||||||||||||||
If one operand is an object and one is a Boolean, the object is returned. | |||||||||||||||
If both operands are objects, the second operand is returned. | |||||||||||||||
If either operand is null, null is returned. | |||||||||||||||
If either operand is NaN, NaN is returned. | |||||||||||||||
If either operand is undefined, an error occurs. |