A powerful operator available in JavaScript is the nullish coalescing operator: ??
.
Have you ever used ||
to set a default value if a variable was null or undefined?
For example, like this:
const myColor = color || 'red'
Well, nullish coalescing is going to replace ||
in there:
const myColor = color ?? 'red'
Why is this operator useful?
Well, there is a whole range of bugs that hide underneath the surface when using ||
to provide a fallback value.
In short, ||
handles values as falsy. ??
handles values as nullish (hence the name).
Which means that with ||
the second operand is evaluated if the first operand is undefined
, null
, false
, 0
, NaN
or ''
.
??
on the other hand limits this list to only undefined
and null
.
Lessons in this unit:
0: | Introduction |
1: | More assignment operators |
2: | Logical operators |
3: | ▶︎ Nullish coalescing |
4: | Optional chaining |
5: | Logical nullish assignment |