JavaScript | Valgfri kjetting

Javascript Valgfri Kjetting



Valgfri kjetting er en ganske ny funksjon i JavaScript introdusert av ECMA international. Den brukes til å sjekke egenskapene til dypt nestede objekter uten å måtte bekymre deg for at egenskapen ikke eksisterer. Det gir en sikker måte å se etter disse verdiene uten å støte på feil. Den valgfrie kjedeoperatoren returnerer en udefinert verdi i stedet for en feil, når referansen ikke eksisterer. Denne funksjonen er ikke noe du definitivt trenger i koden din, men kan ofte vise seg å være veldig nyttig. Valgfri kjeding vil fungere best når du ikke er helt sikker på hvordan dataene faktisk kan se ut, for eksempel når du arbeider med APIer.

Den valgfrie skiftende operatøren vil fortsette nedover banen til den når en egenskapsverdi eller får en feil:

la ansatt = {
fornavn : 'John' ,
etternavn : 'Doe' ,
Alder : 3. 4
} ;

konsoll. Logg ( ansatt. adresse ? . glidelås ) ;







Hvis vi hadde prøvd å få tilgang til samme eiendomsverdi uten å bruke den valgfrie kjedeoperatoren, ville vi ha mottatt en feilmelding:



la ansatt = {
fornavn : 'John' ,
etternavn : 'Doe' ,
Alder : 3. 4
} ;

konsoll. Logg ( ansatt. adresse . glidelås ) ;



Valgfri kjeding på metodeanrop

Valgfri kjetting fungerer også på metodekall. Du kan bruke valgfri kjetting når du ikke er sikker på om det finnes en metode i et objekt. Et eksempel på bruk er data hentet fra en API som kan inneholde eller ikke inneholde visse funksjoner avhengig av brukerens enhet:





la ansatt = {
fornavn : 'John' ,
etternavn : 'Doe' ,
Alder : 3. 4
} ;

konsoll. Logg ( ansatt. metode ? . ( ) ) ;

Uten valgfri kjetting:



la ansatt = {
fornavn : 'John' ,
etternavn : 'Doe' ,
Alder : 3. 4
} ;

konsoll. Logg ( ansatt. metode ( ) ) ;

Den valgfrie kjedeoperatoren kan også brukes flere ganger i en enkelt setning for å unngå feil.

Kombinerer valgfri kjetting med Nullish koalescerende operatør

Valgfri kjetting kan også sammenkobles med ?? operatør for å oppgi en standardverdi i tilfelle egenskapen eller metoden ikke eksisterer:

la ansatt = {
fornavn : 'John' ,
etternavn : 'Doe' ,
Alder : 3. 4
} ;

konsoll. Logg ( ansatt. metode ? . ( ) ?? 'Funksjon eksisterer ikke' ) ;

Standardverdien kan også være et funksjonskall.

Valgfri overforbruk av kjetting

Valgfri kjetting ble introdusert for å øke lesbarheten og elegansen til koden. Det bør brukes med forsiktighet, da det kan føre til at feilene blir dempet. Overbruk av den valgfrie kjedeoperatøren kan forårsake problemer i koden din.

Konklusjon

Valgfri kjetting er en nylig lagt til funksjon i JavaScript som kan brukes til å få tilgang til egenskaper og metoder i dypt nestede JavaScript-objekter uten å måtte bekymre deg for å sette inn manuelle kontroller for eksistensen av disse metodene og egenskapene.