Opcjonalny operator zmiany będzie kontynuował ścieżkę, aż osiągnie wartość właściwości lub napotka błąd:
pozwól pracownikowi = {Imię : 'Jan' ,
nazwisko : 'Łania' ,
Wiek : 3. 4
} ;
konsola. dziennik ( pracownik. adres zamieszkania ? . zamek błyskawiczny ) ;
Gdybyśmy próbowali uzyskać dostęp do tej samej wartości właściwości bez użycia opcjonalnego operatora łączenia łańcuchowego, otrzymalibyśmy błąd:
pozwól pracownikowi = {
Imię : 'Jan' ,
nazwisko : 'Łania' ,
Wiek : 3. 4
} ;
konsola. dziennik ( pracownik. adres zamieszkania . zamek błyskawiczny ) ;
Opcjonalne tworzenie łańcuchów w wywołaniach metod
Opcjonalne tworzenie łańcuchów działa również w przypadku wywołań metod. Możesz użyć opcjonalnego tworzenia łańcuchów, gdy nie masz pewności, czy metoda istnieje w obiekcie. Przykładowym przypadkiem użycia są dane pobrane z API, które mogą, ale nie muszą zawierać pewnych funkcji w zależności od urządzenia użytkownika:
pozwól pracownikowi = {
Imię : 'Jan' ,
nazwisko : 'Łania' ,
Wiek : 3. 4
} ;
konsola. dziennik ( pracownik. metoda ? . ( ) ) ;
Bez opcjonalnego łańcucha:
pozwól pracownikowi = {
Imię : 'Jan' ,
nazwisko : 'Łania' ,
Wiek : 3. 4
} ;
konsola. dziennik ( pracownik. metoda ( ) ) ;
Opcjonalnego operatora łączenia w łańcuch można również użyć wiele razy w ramach jednej instrukcji, aby uniknąć błędów.
Łączenie opcjonalnego łączenia łańcuchowego z operatorem koalescencyjnym Nullish
Opcjonalne połączenie łańcuchowe można również sparować z ?? operator do podania wartości domyślnej w przypadku, gdy właściwość lub metoda nie istnieje:
pozwól pracownikowi = {Imię : 'Jan' ,
nazwisko : 'Łania' ,
Wiek : 3. 4
} ;
konsola. dziennik ( pracownik. metoda ? . ( ) ?? „Funkcja nie istnieje” ) ;
Wartością domyślną może być również wywołanie jakiejś funkcji.
Opcjonalne nadużywanie łańcucha
Wprowadzono opcjonalne tworzenie łańcuchów w celu zwiększenia czytelności i elegancji kodu. Należy go używać ostrożnie, ponieważ może to spowodować wyciszenie błędów. Nadużywanie opcjonalnego operatora łączenia łańcuchowego może powodować problemy w kodzie.
Wniosek
Opcjonalne tworzenie łańcuchów jest niedawno dodaną funkcją JavaScript, która może być używana do uzyskiwania dostępu do właściwości i metod w głęboko zagnieżdżonych obiektach JavaScript bez martwienia się o ręczne sprawdzanie istnienia tych metod i właściwości.