【論理積と論理和】JavaScriptのAND条件とOR条件(A && B A || B)

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の値)

以上となります!