論理演算子を使用した条件
論理演算子と短絡評価
Javascriptには三つの論理演算子があります, &&
||
!
…
&&
: 論理AND(false
に変換できる場合はexpr1
を返します。 そうでない場合は、expr2
を返します。)
||
: logical OR(true
に変換できる場合はexpr1
を返します。 そうでない場合は、expr2
を返します。)
!
: logical NOT(単一オペランドをtrue
に変換できる場合はfalse
を返します。 そうでない場合は、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
上記の例では、論理演算子は、すべてがブール値を返す比較演算子< > = == === >= <= != !==
と組み合わせて使用されています:true
およびfalse
。
Example &&
では、左側の式(x<20
)が最初に評価され、true
が返されます。 &&
これはfalse
を返さなかったため、右側のexpessionを評価するために移動します(y>1
)。 この式もtrue
と評価されるため、左側の式、つまりtrue
が返されます。 したがって、&&
がブール値で使用されている場合、&&
は両方のオペランドが真実である場合にtrue
を返し、false
はそうではありません。
Example ||
では、左側の式(x==3
)が最初に評価され、false
が返されます。 この値は真実ではないため、右側の式(y==3
)、つまりfalse
がすぐに返されます。 したがって、||
がブール値で使用されている場合、||
はいずれかのオペランドがtruthyの場合にtrue
を返します。
Example !
では、式x==y
はfalse
です。 次に、!
は式をfalse
からfalse
に変換しません。