JavaScript | Volitelné řetězení

Javascript Volitelne Retezeni



Volitelné řetězení je poměrně nová funkce JavaScriptu, kterou představila ECMA international. Používá se ke kontrole vlastností hluboko vnořených objektů, aniž byste se museli starat o to, že vlastnost neexistuje. Poskytuje bezpečný způsob kontroly těchto hodnot, aniž by došlo k chybám. Volitelný operátor řetězení vrátí nedefinovanou hodnotu místo chyby, když odkaz neexistuje. Tato funkce není něco, co byste ve svém kódu určitě potřebovali, ale často se může ukázat jako velmi užitečná. Volitelné řetězení bude fungovat nejlépe, když si nejste opravdu jisti, jak mohou data ve skutečnosti vypadat, například při práci s rozhraními API.

Volitelný operátor změny bude pokračovat v cestě, dokud nedosáhne hodnoty vlastnosti nebo nedojde k chybě:

nechat zaměstnance = {
jméno : 'John' ,
příjmení : 'Srna' ,
Stáří : 3. 4
} ;

řídicí panel. log ( zaměstnanec. adresa ? . zip ) ;







Pokud bychom se pokusili získat přístup ke stejné hodnotě vlastnosti bez použití volitelného operátoru řetězení, dostali bychom chybu:



nechat zaměstnance = {
jméno : 'John' ,
příjmení : 'Srna' ,
Stáří : 3. 4
} ;

řídicí panel. log ( zaměstnanec. adresa . zip ) ;



Volitelné řetězení na volání metod

Volitelné řetězení funguje také na volání metod. Pokud si nejste jisti, zda metoda v objektu existuje, můžete použít volitelné řetězení. Příkladem použití jsou data získaná z rozhraní API, které může nebo nemusí obsahovat určité funkce v závislosti na zařízení uživatele:





nechat zaměstnance = {
jméno : 'John' ,
příjmení : 'Srna' ,
Stáří : 3. 4
} ;

řídicí panel. log ( zaměstnanec. metoda ? . ( ) ) ;

Bez volitelného řetězení:



nechat zaměstnance = {
jméno : 'John' ,
příjmení : 'Srna' ,
Stáří : 3. 4
} ;

řídicí panel. log ( zaměstnanec. metoda ( ) ) ;

Volitelný operátor řetězení lze také použít vícekrát v rámci jednoho příkazu, aby se předešlo chybám.

Kombinace volitelného řetězení s operátorem Nullish coalescing

Volitelné řetězení lze také spárovat s ?? operátor, který poskytne výchozí hodnotu v případě, že vlastnost nebo metoda neexistuje:

nechat zaměstnance = {
jméno : 'John' ,
příjmení : 'Srna' ,
Stáří : 3. 4
} ;

řídicí panel. log ( zaměstnanec. metoda ? . ( ) ?? 'Funkce neexistuje' ) ;

Výchozí hodnotou může být také nějaké volání funkce.

Nadměrné používání volitelného řetězení

Pro zvýšení čitelnosti a elegance kódu bylo zavedeno volitelné řetězení. Měl by být používán opatrně, protože může vést k umlčení chyb. Nadměrné používání volitelného operátoru řetězení může způsobit problémy ve vašem kódu.

Závěr

Volitelné řetězení je nedávno přidaná funkce JavaScriptu, kterou lze použít k přístupu k vlastnostem a metodám v rámci hluboko vnořených objektů JavaScriptu, aniž byste se museli starat o ruční kontrolu existence těchto metod a vlastností.