Posted by Arjun Arjun on Sunday 26th July 2020, 1 minute read

JavaScript - Optional chaining (?.)

Optional chaining allows you to safely access the nested object properties. In general, to access the nested object properties you must and should check the object and it exists otherwise you may get a type error. Using the optional chaining(?.) you can avoid long nasty checks of null or undefined using && operator.

const user = {
  'name' : 'Arjun'

const userName =;
// expected output: Arjun

const userAge = user.age;
// expected output: undefined

const userPrject
// expected output: VM485:1 Uncaught TypeError: Cannot read property 'name' of undefined  at :1:32

// To avoid eror we used to do -
const userPrject = user && user.project ?? : null;
// expected output: null

// Now you can do -
const userPrject =user.project?.name
// expected output: undefined

I am Arjun from Hyderabad (India). I have been working as a software engineer from the last 7+ years, and it is my passion to learn new things and implement them as a practice. Aside from work, I like gardening and spending time with pets.