JavaScript | Voliteľné reťazenie

Javascript Volitelne Retazenie



Voliteľné reťazenie je pomerne nová funkcia JavaScriptu, ktorú predstavila ECMA international. Používa sa na kontrolu vlastností hlboko vnorených objektov bez toho, aby ste sa museli obávať, že vlastnosť neexistuje. Poskytuje bezpečný spôsob kontroly týchto hodnôt bez toho, aby došlo k chybám. Voliteľný operátor reťazenia vráti nedefinovanú hodnotu namiesto chyby, keď odkaz neexistuje. Táto funkcia nie je niečo, čo budete vo svojom kóde určite potrebovať, ale často sa môže ukázať ako veľmi užitočná. Voliteľné reťazenie bude fungovať najlepšie, keď si nie ste istí, ako môžu údaje v skutočnosti vyzerať, napríklad pri práci s rozhraniami API.

Voliteľná zmena operátora bude pokračovať v ceste, kým nedosiahne hodnotu vlastnosti alebo kým nenarazí na chybu:

nechať zamestnanca = {
krstné meno : 'John' ,
priezvisko : 'Laň' ,
Vek : 3. 4
} ;

konzola. log ( zamestnanca. adresu ? . PSČ ) ;







Ak by sme sa pokúsili získať prístup k rovnakej hodnote vlastnosti bez použitia voliteľného operátora reťazenia, dostali by sme chybu:



nechať zamestnanca = {
krstné meno : 'John' ,
priezvisko : 'Laň' ,
Vek : 3. 4
} ;

konzola. log ( zamestnanca. adresu . PSČ ) ;



Voliteľné reťazenie pri volaniach metód

Voliteľné reťazenie funguje aj pri volaniach metód. Ak si nie ste istí, či v objekte existuje metóda, môžete použiť voliteľné reťazenie. Príkladom použitia sú údaje získané z rozhrania API, ktoré môže alebo nemusí obsahovať určité funkcie v závislosti od zariadenia používateľa:





nechať zamestnanca = {
krstné meno : 'John' ,
priezvisko : 'Laň' ,
Vek : 3. 4
} ;

konzola. log ( zamestnanca. metóda ? . ( ) ) ;

Bez voliteľného reťazenia:



nechať zamestnanca = {
krstné meno : 'John' ,
priezvisko : 'Laň' ,
Vek : 3. 4
} ;

konzola. log ( zamestnanca. metóda ( ) ) ;

Voliteľný operátor reťazenia možno použiť aj viackrát v rámci jedného príkazu, aby sa predišlo chybám.

Kombinácia voliteľného reťazenia s operátorom Nullish coalescing

Voliteľné reťazenie je možné spárovať aj s ?? operátor na poskytnutie predvolenej hodnoty v prípade, že vlastnosť alebo metóda neexistuje:

nechať zamestnanca = {
krstné meno : 'John' ,
priezvisko : 'Laň' ,
Vek : 3. 4
} ;

konzola. log ( zamestnanca. metóda ? . ( ) ?? 'Funkcia neexistuje' ) ;

Predvolenou hodnotou môže byť aj nejaké volanie funkcie.

Nadmerné používanie voliteľného reťazenia

Na zvýšenie čitateľnosti a elegancie kódu bolo zavedené voliteľné reťazenie. Mal by sa používať opatrne, pretože môže viesť k umlčaniu chýb. Nadmerné používanie voliteľného operátora reťazenia môže spôsobiť problémy vo vašom kóde.

Záver

Voliteľné reťazenie je nedávno pridaná funkcia JavaScriptu, ktorú možno použiť na prístup k vlastnostiam a metódam v rámci hlboko vnorených objektov JavaScriptu bez toho, aby ste sa museli obávať manuálneho overovania existencie týchto metód a vlastností.