Logical operators in JavaScript — how do you use them?
javascript, logical-operators
Solution
All values in JavaScript are either “truthy” or “falsy”.
- `a && b` evaluates to the first falsy operand,
- `a || b` evaluates 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.
- `!a` evaluates to `true` if `a` is falsy and `false` if `a` is truthy.
All values are truthy except the following, which are falsy:
- `null`
- `undefined`
- `false`
- `+0`
- `-0`
- `NaN`
- `0n`
- `""`
- `document.all`
Problem
I don't understand how `&&`, `||`, and `!` work... both with bools and other data types. How do you use them?