JavaScript provides us 3 logical operators: and, or and not.
Logical and
Returns true if both operands are true:
<expression> && <expression>
For example:
a === true && b > 3
The cool thing about this operator is that the second expression is never executed if the first evaluates to false. Which has some practical applications, for example, to check if an object is defined before using it:
const car = { color: 'green' }
const color = car && car.color
Logical or
Returns true if at least one of the operands is true:
<expression> || <expression>
For example:
a === true || b > 3
This operator is very useful to fallback to a default value. For example:
const car = {}
const color = car.color || 'green'
makes color
default to green
if car.color
is not defined.
Logical not (!)
Invert the value of a boolean:
let value = true
!value //false
Lessons in this unit:
0: | Introduction |
1: | More assignment operators |
2: | ▶︎ Logical operators |
3: | Nullish coalescing |
4: | Optional chaining |
5: | Logical nullish assignment |