JavaScript | Valikuline aheldamine

Javascript Valikuline Aheldamine



Valikuline aheldamine on ECMA Internationali poolt kasutusele võetud JavaScripti üsna uus funktsioon. Seda kasutatakse sügavalt pesastatud objektide omaduste kontrollimiseks, ilma et peaksite muretsema selle omaduse puudumise pärast. See pakub turvalist viisi nende väärtuste kontrollimiseks ilma vigadeta. Valikuline aheldamisoperaator tagastab vea asemel määratlemata väärtuse, kui viidet pole olemas. See funktsioon ei ole midagi, mida te kindlasti oma koodis vajate, kuid see võib sageli osutuda väga kasulikuks. Valikuline aheldamine töötab kõige paremini siis, kui te pole päris kindel, kuidas andmed tegelikult välja näevad, nt API-dega töötades.

Valikuline muutuv operaator jätkab teed, kuni jõuab atribuudi väärtuseni või ilmneb tõrge:

lase töötajal = {
eesnimi : 'John' ,
perekonnanimi : 'Doe' ,
Vanus : 3. 4
} ;

konsool. logi ( töötaja. aadress ? . tõmblukk ) ;







Kui oleksime proovinud samale atribuudi väärtusele juurde pääseda ilma valikulist aheldamisoperaatorit kasutamata, oleksime saanud veateate:



lase töötajal = {
eesnimi : 'John' ,
perekonnanimi : 'Doe' ,
Vanus : 3. 4
} ;

konsool. logi ( töötaja. aadress . tõmblukk ) ;



Valikuline aheldamine meetodikutsetel

Valikuline aheldamine töötab ka meetodikutsete puhul. Saate kasutada valikulist aheldamist, kui te pole kindel, kas meetod on objekti sees olemas. Kasutusjuhtumi näide on API-st hangitud andmed, mis võivad olenevalt kasutaja seadmest sisaldada teatud funktsioone või mitte.





lase töötajal = {
eesnimi : 'John' ,
perekonnanimi : 'Doe' ,
Vanus : 3. 4
} ;

konsool. logi ( töötaja. meetod ? . ( ) ) ;

Ilma valikulise aheldamiseta:



lase töötajal = {
eesnimi : 'John' ,
perekonnanimi : 'Doe' ,
Vanus : 3. 4
} ;

konsool. logi ( töötaja. meetod ( ) ) ;

Valikulist aheldamisoperaatorit saab vigade vältimiseks kasutada ka mitu korda ühes lauses.

Valikulise aheldamise kombineerimine Nullishi koalesseerimisoperaatoriga

Valikulist aheldamist saab siduda ka ?? operaator annab vaikeväärtuse juhuks, kui atribuuti või meetodit ei eksisteeri:

lase töötajal = {
eesnimi : 'John' ,
perekonnanimi : 'Doe' ,
Vanus : 3. 4
} ;

konsool. logi ( töötaja. meetod ? . ( ) ?? 'Funktsiooni pole olemas' ) ;

Vaikeväärtus võib olla ka mõni funktsioonikutse.

Valikuline aheldamise ülekasutus

Koodi loetavuse ja elegantsi suurendamiseks võeti kasutusele valikuline aheldamine. Seda tuleks kasutada ettevaatlikult, kuna see võib põhjustada vigade vaigistamise. Valikulise aheldamisoperaatori liigne kasutamine võib teie koodis probleeme tekitada.

Järeldus

Valikuline aheldamine on hiljuti lisatud JavaScripti funktsioon, mida saab kasutada sügavates pesastatud JavaScripti objektide atribuutidele ja meetoditele juurde pääsemiseks, ilma et peaksite muretsema nende meetodite ja atribuutide olemasolu käsitsi kontrollimise pärast.