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
ellerNaN
. 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.
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.
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.