JavaScript | Izborno ulančavanje

Javascript Izborno Ulancavanje



Neobavezno ulančavanje prilično je nova značajka JavaScripta koju je uvela ECMA international. Koristi se za provjeru svojstava duboko ugniježđenih objekata bez brige o nepostojanju svojstva. Omogućuje siguran način provjere tih vrijednosti bez nailaska na pogreške. Neobavezni operator ulančavanja vraća nedefiniranu vrijednost umjesto pogreške, kada referenca ne postoji. Ova značajka nije nešto što će vam sigurno trebati u vašem kodu, ali se često može pokazati vrlo korisnom. Neobavezno ulančavanje najbolje će funkcionirati kada niste baš sigurni kako bi podaci zapravo mogli izgledati, npr. kada radite s API-jima.

Opcijski operator promjene nastavit će niz stazu dok ne dosegne vrijednost svojstva ili ne naiđe na pogrešku:

neka zaposlenik = {
ime : 'Ivan' ,
prezime : 'srna' ,
Dob : 3. 4
} ;

konzola. log ( zaposlenik. adresa ? . zip ) ;







Da smo pokušali pristupiti istoj vrijednosti svojstva bez korištenja opcijskog operatora ulančavanja tada bismo dobili pogrešku:



neka zaposlenik = {
ime : 'Ivan' ,
prezime : 'srna' ,
Dob : 3. 4
} ;

konzola. log ( zaposlenik. adresa . zip ) ;



Izborno ulančavanje poziva metoda

Neobavezno ulančavanje također radi na pozivima metoda. Opcijsko ulančavanje možete koristiti kada niste sigurni postoji li metoda unutar objekta. Primjer upotrebe su podaci dohvaćeni iz API-ja koji mogu ili ne moraju sadržavati određene značajke ovisno o uređaju korisnika:





neka zaposlenik = {
ime : 'Ivan' ,
prezime : 'srna' ,
Dob : 3. 4
} ;

konzola. log ( zaposlenik. metoda ? . ( ) ) ;

Bez izbornog lančanog povezivanja:



neka zaposlenik = {
ime : 'Ivan' ,
prezime : 'srna' ,
Dob : 3. 4
} ;

konzola. log ( zaposlenik. metoda ( ) ) ;

Opcijski operator ulančavanja također se može koristiti više puta unutar jedne izjave kako bi se izbjegle pogreške.

Kombiniranje izbornog ulančavanja s operatorom spajanja Nullish

Opcijsko ulančavanje također se može upariti s ?? operator za pružanje zadane vrijednosti u slučaju da svojstvo ili metoda ne postoje:

neka zaposlenik = {
ime : 'Ivan' ,
prezime : 'srna' ,
Dob : 3. 4
} ;

konzola. log ( zaposlenik. metoda ? . ( ) ?? 'Funkcija ne postoji' ) ;

Zadana vrijednost također može biti neki poziv funkcije.

Neobavezna prekomjerna upotreba ulančavanja

Opcijsko ulančavanje uvedeno je kako bi se povećala čitljivost i elegancija koda. Treba ga pažljivo koristiti jer može rezultirati utišavanjem pogrešaka. Pretjerana upotreba opcijskog operatora za ulančavanje može uzrokovati probleme u vašem kodu.

Zaključak

Neobavezno ulančavanje nedavno je dodana značajka JavaScripta koja se može koristiti za pristup svojstvima i metodama unutar duboko ugniježđenih JavaScript objekata bez brige o postavljanju ručnih provjera postojanja tih metoda i svojstava.