'Logical operators in JavaScript — how do you use them?
I don't understand how &&, ||, and ! work... both with bools and other data types. How do you use them?
Solution 1:[1]
All values in JavaScript are either “truthy” or “falsy”.
a && bevaluates to the first falsy operand,a || bevaluates to the first truthy operand.
Both operators will not evaluate any operands after the one the return. If all operands don’t match, they will evaluate to the last one.
!aevaluates totrueifais falsy andfalseifais truthy.
All values are truthy except the following, which are falsy:
nullundefinedfalse+0-0NaN0n""document.all
Solution 2:[2]
If you want to test that both of two conditions are truthy then use &&:
if (isX && isY)
{
// Do something.
}
If you want to test that one or both of two conditions are truthy then use ||:
if (isX || isY)
{
// Do something.
}
The ! inverts a boolean (a truthy value becomes false and vice versa).
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Sebastian Simon |
| Solution 2 |
