JavaScriptのAND演算子とOR演算子の式の評価結果についてまとめておく。
AND演算子とOR演算子はショートサーキットであり、評価結果が決まる式に出会うと、それ以降は評価されない。
- AND演算子はfalsyな結果を返す式があれば、これが式全体の結果となる。
- AND演算子はすべての式がtruthyな結果を返す場合は、最後の式が式全体の結果となる。
- OR演算子はtruthyな結果を返す式があれば、これが式全体の結果となる。
- OR演算子はすべての式がfalsyな結果を返す場合は、最後の式が式全体の結果となる。
let a = 1;
let b = 2;
let c = 3;
let d = 4;
console.log(a && b && c && d);
// dの評価結果4が式全体の評価結果となる
console.log(a || b || c || d);
// 1が表示される
a = 1;
b = 0;
c = 3;
d = 4;
console.log(a && b && c && d);
// 0が表示される
a = 0;
b = 0;
c = 3;
d = 4;
console.log(a || b || c || d);
// 3が表示される
a = 0;
b = 0;
c = 0;
d = 0;
console.log(a || b || c || d);
// dの評価結果0が式全体の評価結果となる
コメント