Optional chaining to specjalna składnia JavaScript, która pozwala sprawdzi, czy lewa strona wyrażenia jest równa null
lub undefined
.
Jeśli tak, to prawa strona nie jest wykonywana, a wyrażenie zwraca undefined
.
Optional chaining może być wykorzystywany do uzyskiwania wartości po kluczu, ale również po indeksie a także do wywoływania funkcji.
Próba uzyskania dostępu do wartości pola z null
a lub undefined
bez zastosowania optional chainingu zakończy się błędem typu Cannot read property 'x' of undefined/null
const val = {a: {}}; val.a.b.c.d // Cannot read property 'c' of undefined val.a.b?.c.d // undefined val.a.b.c() // Cannot read property 'c' of undefined val.a.b.c?.() // undefined val.a.b[1] // Cannot read property '1' of undefined val.a.b?.[1] // undefined