Användning av && och || utanför if-klausulen i JavaScript

Du kanske har använt operatörerna && och || när du skrivit ett villkor i en if-klausul. Men visste du att de i JavaScript utvärderas till uttrycksvärden, t.ex. strängar och siffror, i stället för de boolska värdena true och false?

Detta gör att du kan använda operatörerna && och || i uttryck utanför if-klausulen. Det ger korta sätt att uttrycka ett tidigt stopp med hjälp av && och att uttrycka ett standardvärde med hjälp av ||.

If-klausulen fungerar på sanna och falska värden

Det faktum att operatörerna && och || utvärderar till strängar och tal bryter inte mot if-klausulen eftersom villkor utvärderas på olika sätt i JavaScript.

Istället för att if-klausulen beslutar om sitt nästa drag baserat på att villkoret är true eller false, beslutar den baserat på att villkoret är sant eller falskt.

Definitionen är

Ett värde är falskt om det är false, null, undefined, '', 0 eller NaN. Ett sanningsvärde är varje värde som inte anses falskt.

Låt oss använda denna information.

Använd && för att skydda oss mot odefinierade

En vanlig situation är att få åtkomst till inbäddade objektegenskaper med hjälp av punktnotering. Till exempel request.session.id. I det här fallet, om något objekt längs vägen är undefined en ”Uncaught TypeError:

Felet kan undvikas genom att använda && för att skydda sig mot undefined.

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

Här utvärderas uttrycket till undefined på ett säkert sätt utan att ett fel uppstår.

Definitionen för && är

Den &&-operatorn utvärderar till vänsteruttrycket om det är falskt, annars till högeruttrycket.

Använd || för att ge ett standardvärde

Ett annat vanligt användningsfall är att hämta ett värde, och om det inte finns så används ett standardvärde.

Detta kan åstadkommas med hjälp av ||-operatorn.

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

Definitionen för || är

||-operatorn utvärderar till vänsteruttrycket om det är sanningsenligt, annars till högeruttrycket.

Läsbarhet

De här två nya verktygen är trevliga tillägg till din verktygslåda. Men som alltid kommer läsbarheten i första hand. Använd dem klokt, där de passar bäst. Kom ihåg att se till att alla i ditt team vet hur de ska användas, till exempel genom att skicka den här artikeln till dem.

Lämna ett svar

Din e-postadress kommer inte publiceras.