villkor som använder logiska operatorer
logiska operatorer och Kortslutningsutvärderingar
i Javascript finns det tre logiska operatorer, &&
||
!
…
&&
: logisk och (returnerar expr1
om den kan konverteras till false
. Om inte, returnerar expr2
.)
||
: logisk eller (returnerar expr1
om den kan konverteras till true
. Om inte, returnerarexpr2
.)
!
: logisk inte (returnerar false
om dess enda operand kan konverteras till true
. Om inte, returnerar true
.)
x=10 and y=4 Example && x < 20 && y > 1 is true
Example || x == 3 || y== 3 is false
Example ! !(x == y) is true
i ovanstående exempel används de logiska operatorerna tillsammans med jämförelseoperatörer < > = == === >= <= != !==
som alla returnerar booleska värden: true
och false
.
i Example &&
utvärderas uttrycket till vänster (x<20
)först, vilket returnerar true
. Eftersom &&
detta inte återvände false
, går det vidare för att utvärdera expeditionen till höger (y>1
). Detta uttryck utvärderas också till true
, varför uttrycket till vänster returneras, vilket är true
. När &&
används med booleska värden returnerar &&
true
när båda operanderna är truthy och returnerar false
är de inte.
i Example ||
utvärderas uttrycket till vänster (x==3
) först, vilket returnerar false
. Eftersom detta värde inte är sant, returnerar det omedelbart uttrycket till höger (y==3
), vilket är false
. Därför, när ||
används med booleska värden, returnerar ||
true
när endera operanden är truthy.
i Example !
är uttrycket x==y
false
. Därefter konverterar !
uttrycket från false
till inte false
; med andra ord true
.