Skip to content

JavaScript Optional Chaining

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

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)

→ Download my free JavaScript Handbook!

THE VALLEY OF CODE

THE WEB DEVELOPER's MANUAL

You might be interested in those things I do:

  • Learn to code in THE VALLEY OF CODE, your your web development manual
  • Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
  • I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
  • Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
  • Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
  • Find me on X

Related posts that talk about js: