Conditionals gebruik makend van logische operators
logische Operators en Kortsluitingsevaluaties
in Javascript zijn er drie logische operators, &&
||
!
…
&&
: logical AND (geeft expr1
terug als het kan worden geconverteerd naar false
. Zo niet, geeft expr2
terug.)
||
: logical OR (geeft expr1
terug als het kan worden geconverteerd naar true
. Zo niet, geeftexpr2
terug.)
!
: logical NOT (geeft false
terug als de enkele operand kan worden geconverteerd naar true
. Zo niet, geeft true
terug.)
x=10 and y=4 Example && x < 20 && y > 1 is true
Example || x == 3 || y== 3 is false
Example ! !(x == y) is true
in de bovenstaande voorbeelden worden de logische operatoren gebruikt in combinatie met vergelijkingsoperatoren < > = == === >= <= != !==
die alle Booleaanse waarden geven: true
en false
.
in Example &&
wordt eerst de uitdrukking links (x<20
)geëvalueerd, die true
geeft. Omdat &&
dit niet false
opleverde, gaat het verder met de evaluatie van de expession aan de rechterkant (y>1
). Deze expressie evalueert ook naar true
, vandaar dat de expressie aan de linkerkant wordt teruggegeven, die true
is. Als &&
wordt gebruikt met Booleaanse waarden, geeft &&
true
terug als beide operanden waarachtig zijn en geeft false
dat zijn ze niet.
In Example ||
wordt eerst de uitdrukking links (x==3
) geëvalueerd, die false
geeft. Omdat deze waarde niet waar is, geeft het onmiddellijk de uitdrukking aan de rechterkant (y==3
) terug, die false
is. Als ||
wordt gebruikt met Booleaanse waarden, geeft ||
true
terug als een van beide operand truthy is.
In Example !
is de uitdrukking x==y
false
. Vervolgens converteert !
de uitdrukking van false
naar niet false
, met andere woorden true
.