In JavaScript, &&
is the logical AND operator. It operates on a set of boolean operands and returns true
only if all the operands are true
, otherwise it returns false
. The operator can also be used with non-boolean operands, but it is still considered a boolean operator since its return value can always be converted to a boolean primitive.
The &&
operator evaluates the operands from left to right and returns the first falsy value encountered. If no operand is falsy, the latest operand is returned. The operator is short-circuiting, meaning that if the first operand is falsy, the operator stops and returns the original value of that falsy operand; it does not evaluate any of the remaining operands.
The &&
operator can be used in a shorthand way to check if something is not null or undefined before doing something else. For example, x && foo()
is equivalent to if(x){ foo(); }
.
There is also a logical AND assignment operator, &&=
, which only evaluates the right operand and assigns to the left if the left operand is truthy.