Przejdź do głównej zawartości

W przykładzie z błędem do konsoli zostanie zalogowana wartość null jako efekt wywołania ebook.title.

Zostanie jednak zwrócony też błąd Cannot read properties of null (reading 'subtitle'), który zatrzyma wykonywanie dalszego kodu.

null jest podstawowym typem danych (mimo, że typeof null błędnie zwraca wartość object).

Podstawowe typy danych nie są obiektami w JavaScript, nie zawierają więc żadnych własności czy metod.

Jakakolwiek próba zwrócenia własności domniemanego obiektu null wyrzuca więc błąd, który skutecznie zatrzymuje wykonywanie dalszego kodu aplikacji.

Opcjonalne łączenie łańcuchowe ?. pozwoli nam uniknąć wyrzucenia błędu, zamiast niego zwracając wartość undefined.

Operator ?. świetnie nadaje np. podczas pobierania danych z API, gdy nie jesteśmy do końca pewni struktury przychodzących danych i istnieje prawdopodobieństwo, że dane, które chcemy zwrócić z zagnieżdżonych własności obiektu, będą niezdefiniowane.

Opcjonalne łączenie łańcuchowe to też świetny skrót umożliwiający pominięcie wielokrotnego używania operatorów logicznych AND book && book.title && book.title.subtitle.