論理積(&&)と論理和(||) | 論理演算子 | JavaScript 超完全入門 基本から発展までのすべて

スポンサーリンク
スポンサーリンク

論理積(&&)とは?

論理積(&&)は、「かつ」という意味で、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を返します。これらの演算子を使いこなすことで、条件分岐をより柔軟に行うことができます。