JavaScript | Opcjonalne łączenie

JavaScript | Opcjonalne łączenie
Opcjonalne łączenie to dość nowa funkcja JavaScript wprowadzona przez ECMA International. Służy do sprawdzenia właściwości głębokich zagnieżdżonych obiektów bez konieczności martwienia się o nieruchomość. Zapewnia bezpieczny sposób sprawdzania tych wartości bez błędów. Opcjonalny operator łączenia zwraca niezdefiniowaną wartość zamiast błędu, gdy odniesienie nie istnieje. Ta funkcja nie jest czymś, czego na pewno potrzebujesz w swoim kodzie, ale często może okazać się bardzo przydatne. Opcjonalne łączenie będzie działać najlepiej, gdy nie będziesz do końca pewny, jak dane mogą wyglądać.G., Podczas pracy z API.

Opcjonalny operator zmieniający się będzie kontynuował ścieżkę, dopóki nie osiągnie wartości właściwości lub przejdzie do błędu:

Niech pracownik =
FirstName: „John”,
LastName: „Doe”,
Wiek: 34
;
konsola.Log (pracownik.adres?.zamek błyskawiczny);

Gdybyśmy próbowali uzyskać dostęp do tej samej wartości właściwości bez korzystania z opcjonalnego operatora łączenia, otrzymalibyśmy błąd:

Niech pracownik =
FirstName: „John”,
LastName: „Doe”,
Wiek: 34
;
konsola.Log (pracownik.adres.zamek błyskawiczny);

Opcjonalne łączenie połączeń metod

Opcjonalne łączenie działa również na wywołania metod. Możesz użyć opcjonalnego łączenia, gdy nie masz pewności, czy metoda istnieje w obiekcie. Przykładowym przypadkiem użycia są dane pobierane z interfejsu API, które mogą, ale nie musi zawierać określonych funkcji w zależności od urządzenia użytkownika:

Niech pracownik =
FirstName: „John”,
LastName: „Doe”,
Wiek: 34
;
konsola.Log (pracownik.metoda?.());

Bez opcjonalnego łączenia:

Niech pracownik =
FirstName: „John”,
LastName: „Doe”,
Wiek: 34
;
konsola.Log (pracownik.metoda());

Opcjonalny operator łączenia można również używać wiele razy w jednym instrukcji, aby uniknąć błędów.

Połączenie opcjonalnego łączenia z zerowym operatorem Koalescing

Opcjonalne łączenie można również sparować z ?? Operator, który zapewni wartość domyślną w przypadku, gdy właściwość lub metoda nie istnieje:

Niech pracownik =
FirstName: „John”,
LastName: „Doe”,
Wiek: 34
;
konsola.Log (pracownik.metoda?.() ?? „Funkcja nie istnieje”);

Wartością domyślną może być również pewne wywołanie funkcji.

Opcjonalne nadużywanie łączenia

Wprowadzono opcjonalne łączenie w celu zwiększenia czytelności i elegancji kodu. Należy go uważnie używać, ponieważ może spowodować wyciszenie błędów. Nadużywanie opcjonalnego operatora łączenia może powodować problemy w twoim kodzie.

Wniosek

Opcjonalne łączenie to niedawno dodana funkcja JavaScript, którą można użyć do dostępu do właściwości i metod w głębokich zagnieżdżonych obiektach JavaScript bez obaw o wprowadzenie ręcznych kontroli istnienia tych metod i właściwości.