JavaScript Nullish Coalescing

An introduction to this new feature of JavaScript: nullish coalescing

A new JavaScript feature that’s going to be widely used, soon, is the nullish coalescing operator ??.

What’s that? ?? ?

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'


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.

Which might suit your use case better!

The blog has a much more detailed post on this operator, but you got the gist here.

It’s currently available in Chrome Canary, and in Babel!

Check my Babel guide

Download my free JavaScript Beginner's Handbook and check out my JavaScript Masterclass!

⭐️ Join the waiting list for the JavaScript Masterclass ⭐️