AND条件 A && Bについて
if
文を使わない場合でも、条件分岐を『&&や||』を使って行うことができます。
このおもしろい性質は項目を左から順に評価していき、false
が存在した場合にその項目を返します。
実際に返している項目がわかりやすいように直接true、falseを代入せずに、暗黙的に変換できる数値の0(false)、0以外の数値(true)を利用してみます。
let A = 0;
let B = 2;
let result = A && B;
console.log(result); // 結果: 0
(Aの値)
Aの値が返りました。
今度はBがfalseだったらどうでしょうか
let A = 100;
let B = 0;
let result = A && B;
console.log(result); // 結果:0
(Bの値)
Bの値が返りますね。
では3つ目の項目Cがあるとして次の場合はどうでしょうか
let A = 4; let B = 0;
let C = 56; let result = A && B && C; console.log(result); // 結果:0
(Bの値)
左から順に評価していき、false
が存在した場合にその項目を返すので、Bの値が返ってきます。
さて、Cがfalse
の場合はどうでしょうか。
let A = 23; let B = 1;
let C = 0; let result = A && B && C; console.log(result); // 結果:0
(Cの値)
左から順に評価していき、false
が存在した場合にその項目を返すので、Cの値が返ってきます。
最後の例ではすべての項目においてfalse
が存在しなかった場合、最後のCの値が返ってきます。
そもそもAとBがtrueの場合、Cの値に関係なくCが帰ります。
let A = 1; let B = 1;
let C = 1; let result = A && B && C; console.log(result); // 結果:1
(Cの値)
まとめると、A && B のAND条件において左から順に評価していき、falseがあり次第その項目を返します。
また、falseがなければ最後の項目を返すことになります。
OR条件 A || Bについて
さて、なんとなくOR条件もわかってくると思います。
A || B のOR条件において左から順に評価していき、trueがあり次第その項目を返します。
また、trueがなければ最後の項目を返すことになります。
let A = 2;
let B = 0;
let result = A || B;
console.log(result); // 結果: 2
(Aの値)
let A = 0;
let B = 100;
let result = A || B;
console.log(result); // 結果:100
(Bの値)
let A = 0; let B = 4;
let C = 32; let result = A || B || C; console.log(result); // 結果:4
(Bの値)
let A =0; let B = 0;
let C = 83; let result = A || B || C; console.log(result); // 結果:83
(Cの値)
let A = 0; let B = 0;
let C = 0; let result = A || B || C; console.log(result); // 結果:0
(Cの値)
以上となります!