JavaScript | Valgfri kjetting

JavaScript | Valgfri kjetting
Valgfri kjetting er en ganske ny funksjon for JavaScript introdusert av ECMA International. Det brukes til å sjekke egenskapene til dype nestede gjenstander uten å måtte bekymre seg for at eiendommen ikke eksisterer. Det gir en trygg måte å sjekke for disse verdiene uten å løpe inn i feil. Den valgfrie kjedeoperatøren returnerer en udefinert verdi i stedet for en feil, når referansen ikke eksisterer. Denne funksjonen er ikke noe du absolutt trenger i koden din, men kan ofte vise seg å være veldig nyttig. Valgfri kjetting vil fungere best når du ikke er helt sikker på hvordan dataene faktisk kan se ut.g., Når du jobber med APIer.

Den valgfrie endrede operatøren vil fortsette nedover banen til den når en eiendomsverdi eller løper inn i en feil:

La ansatt =
FirstName: "John",
LastName: "Doe",
Alder: 34
;
konsoll.Logg (ansatt.adresse?.glidelås);

Hvis vi hadde prøvd å få tilgang til den samme eiendomsverdien uten å bruke den valgfrie kjedeoperatøren, ville vi ha mottatt en feil:

La ansatt =
FirstName: "John",
LastName: "Doe",
Alder: 34
;
konsoll.Logg (ansatt.adresse.glidelås);

Valgfri kjetting på metodesamtaler

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

La ansatt =
FirstName: "John",
LastName: "Doe",
Alder: 34
;
konsoll.Logg (ansatt.metode?.());

Uten valgfri kjetting:

La ansatt =
FirstName: "John",
LastName: "Doe",
Alder: 34
;
konsoll.Logg (ansatt.metode());

Den valgfrie kjedeoperatøren kan også brukes flere ganger i en enkelt uttalelse for å unngå feil.

Kombinere valgfri kjetting med den nullish sammenkoblingsoperatøren

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

La ansatt =
FirstName: "John",
LastName: "Doe",
Alder: 34
;
konsoll.Logg (ansatt.metode?.() ?? "Funksjon eksisterer ikke");

Standardverdien kan også være noen funksjonsanrop.

Valgfri overforbruk

Valgfri kjetting ble introdusert for å øke lesbarheten og elegansen av kode. Det bør brukes nøye, da det kan føre til lyddemping av feil. Overforbruk 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 innen dype nestede JavaScript -objekter uten å måtte bekymre deg for å sette inn manuelle kontroller for eksistensen av disse metodene og egenskapene.