More operators: Optional chaining

The optional chaining operator is a very useful operator which we can use to work with objects and their properties or methods.

Have you ever used the && operator as a fallback? It’s one of my favorite JavaScript features.

In JavaScript, you can first check if an object exists, and then try to get one of its properties, like this:

const car = null
const color = car && car.color

Even if car is null, you don’t have errors and color is assigned the null value.

You can go down multiple levels:

const car = {}
const colorName = car && car.color && car.color.name

In some other languages, using && might give you true or false, since it’s usually a logic operator.

Not in JavaScript, and it allows us to do some cool things.

Now this new optional chaining operator will let us be even more fancy:

const color = car?.color
const colorName = car?.color?.name

If car is null or undefined, the result will be undefined.

With no errors (while with && in case car was undefined we had a ReferenceError: car is not defined error)

Lessons in this unit:

0: Introduction
1: More assignment operators
2: Logical operators
3: Nullish coalescing
4: ▶︎ Optional chaining
5: Logical nullish assignment
Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. Launching May 21, 2024. Join the waiting list!