How to use optional chaining with array or functions? How to use optional chaining with array or functions? arrays arrays

How to use optional chaining with array or functions?


You need to put a . after the ? to use optional chaining:

myArray.filter(x => x.testKey === myTestKey)?.[0]

Playground link

Using just the ? alone makes the compiler think you're trying to use the conditional operator (and then it throws an error since it doesn't see a : later)

Optional chaining isn't just a TypeScript thing - it is a finished proposal in plain JavaScript too.

It can be used with bracket notation like above, but it can also be used with dot notation property access:

const obj = {  prop2: {    nested2: 'val2'  }};console.log(  obj.prop1?.nested1,  obj.prop2?.nested2);