論理積(&&)とは?
論理積(&&
)は、「かつ」という意味で、2つの条件がどちらもtrue
の場合にのみtrue
を返す演算子です。1つでもfalse
が含まれるとfalse
を返します。
上記はベン図による視覚的な説明です。論理積は、両方の条件が真の時に真となります。集合 A(青) と B(赤) の中央の重なる部分がtrueを示します。重ななる部分以外は全てfalseとなります。
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
この例では、両方の条件がtrue
の場合のみtrue
が返され、それ以外の組み合わせではfalse
が返されます。
論理和(||)とは?
論理和(||
)は、「または」という意味で、2つの条件のどちらか1つでもtrue
であればtrue
を返す演算子です。どちらもfalse
の場合にのみfalse
が返されます。
論理和は、どちらか一方、または両方が真の場合に真となります。集合 A(青) と B(赤) の部分全てがtrueとなります。AでもBでもない部分がfalseとなります。
console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
この例では、1つでもtrue
が含まれていればtrue
が返され、両方がfalse
の場合のみfalse
が返されます。
論理積と論理和の比較
論理積と論理和は、2つの条件を組み合わせて複雑な論理式を作成する際に使用します。次の表にそれぞれの動作をまとめました。
条件A | 条件B | A && B(論理積) | A || B(論理和) |
---|---|---|---|
true |
true |
true |
true |
true |
false |
false |
true |
false |
true |
false |
true |
false |
false |
false |
false |
論理積と論理和の応用例
論理積と論理和は、複数の条件を組み合わせて判断を行う際に便利です。以下はその応用例です。
let age = 25;
let isStudent = false;
if (age >= 18 && isStudent) {
console.log("大人の学生です");
} else {
console.log("大人の学生ではありません");
}
この例では、年齢が18歳以上であり、かつ学生である場合に「大人の学生です」と表示されます。年齢が18歳以上でも学生でない場合は、別のメッセージが表示されます。
論理和の応用例
次に、論理和を使って条件のいずれかがtrue
であれば動作する例を見てみましょう。
let age = 16;
let hasPermission = true;
if (age >= 18 || hasPermission) {
console.log("イベントに参加できます");
} else {
console.log("参加できません");
}
この例では、年齢が18歳未満であっても、許可がある場合にはイベントに参加できるという条件を示しています。
論理演算の順序
JavaScriptでは、論理演算子には評価の順序があります。論理積(&&)は論理和(||)よりも優先されて評価されます。つまり、a && b || c
という式では、まずa && b
が評価され、その後にc
との論理和が評価されます。
let a = true;
let b = false;
let c = true;
console.log(a && b || c); // true(まずa && bが評価され、その後にcとの論理和)
プログラムの解説
<script>
// 論理積(&&)の例
console.log(true && true); // true
console.log(true && false); // false
// 論理和(||)の例
console.log(false || true); // true
console.log(false || false); // false
// 複数条件を組み合わせた例
let age = 25;
let isStudent = false;
if (age >= 18 && isStudent) {
console.log("大人の学生です");
} else {
console.log("大人の学生ではありません");
}
// 論理和の応用例
let hasPermission = true;
if (age >= 18 || hasPermission) {
console.log("イベントに参加できます");
} else {
console.log("参加できません");
}
</script>
このプログラムでは、論理積(&&
)と論理和(||
)を使ったさまざまな条件の組み合わせを示しています。これにより、2つ以上の条件を同時にチェックする方法が理解できるでしょう。
まとめ
JavaScriptの論理積(&&
)と論理和(||
)は、複数の条件を組み合わせて複雑な判断を行う際に非常に便利です。論理積はすべての条件がtrue
である場合にのみtrue
を返し、論理和は1つでもtrue
が含まれていればtrue
を返します。これらの演算子を使いこなすことで、条件分岐をより柔軟に行うことができます。