Brug af && og || uden for en if-klausul i JavaScript

Du har måske brugt operatørerne && og ||, når du har skrevet en betingelse i en if-klausul. Men vidste du, at de i JavaScript evaluerer til udtryksværdierne, f.eks. strenge og tal, i stedet for de boolske værdier true og false?

Dette gør det muligt at bruge operatorerne && og || i udtryk uden for if-klausulen. Det giver korte måder at udtrykke et tidligt stop på ved hjælp af && og at udtrykke en standardværdi ved hjælp af ||.

If-klausulen opererer med sandhedsværdier og falske værdier

Den kendsgerning, at &&– og ||-operatorerne evaluerer til strenge og tal, bryder ikke if-klausulen, fordi betingelser evalueres anderledes i JavaScript.

I stedet for at if-klausulen beslutter sit næste træk ud fra, om betingelsen er true eller false, beslutter den ud fra, om betingelsen er sandfærdig eller falsy.

Definitionen er

En værdi er falsy, hvis den er false, null, undefined, '', 0 eller NaN. En truthy-værdi er enhver værdi, der ikke betragtes som falsy.

Lad os tage disse oplysninger i brug.

Brug && for at sikre dig mod udefinerede

En almindelig situation er at få adgang til egenskaber for indlejrede objekter ved hjælp af punktnotation. For eksempel request.session.id. I dette tilfælde vil der, hvis et objekt undervejs er undefined en “Uncaught TypeError: Cannot read property of undefined”-fejl.

Fejlen kan undgås ved hjælp af && for at sikre sig mod undefined.

1
1
const sessionId = request.session && request.session.id;

Her evaluerer udtrykket til undefined sikkert uden at kaste en fejl.

Definitionen for && er

Den &&-operator evaluerer til venstre sideudtrykket, hvis det er fejlfrit, ellers til højre sideudtrykket.

Brug || til at angive standardværdi

Et andet almindeligt anvendelsestilfælde er at hente en værdi, og hvis den ikke findes, skal der bruges en standardværdi.

Dette kan opnås ved hjælp af ||-operatoren.

1
const name = user.name || 'Guest';

Definitionen for || er

||-operatoren evaluerer til venstre side af udtrykket, hvis det er sandt, ellers til højre side af udtrykket.

Læsbarhed

Disse to nye værktøjer er gode tilføjelser til din værktøjskasse. Men som altid kommer læsbarhed først og fremmest. Brug dem med omtanke, hvor de passer bedst. Husk at sørge for, at alle på dit team ved, hvordan de skal bruges, f.eks. ved at give denne artikel videre til dem.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.