JavaScript | 基礎構文:比較・論理 – 論理 OR

JavaScript JavaScript
スポンサーリンク

論理 OR とは何か

論理 OR(または)は、2つの条件のうち「どちらかが真(true)」なら結果も真になる演算です。JavaScriptでは || を使います。条件分岐で「少なくとも1つ満たせばOK」という場面に役立ちます。

console.log(true || true);   // true
console.log(true || false);  // true
console.log(false || true);  // true
console.log(false || false); // false
JavaScript

基本的な使い方(条件の結合)

「どちらかが当てはまれば通す」という条件を簡潔に書けます。例えば、年齢が18歳以上 または 保護者同伴なら利用可能とする場合です。

const age = 16;
const withParent = true;
if (age >= 18 || withParent) {
  console.log("利用可能");
} else {
  console.log("条件を満たしていません");
}
JavaScript

このように OR は「片方でも真なら通す」ため、柔軟な条件設定ができます。


短絡評価(ショートサーキット)の仕組み

論理 OR は左側が true の時点で右側を評価しません。これを「短絡評価」と呼びます。無駄な処理を避けたり、デフォルト値を設定するのに使えます。

function heavy() {
  console.log("重い処理");
  return true;
}

const ok = true || heavy(); // 左が true なので heavy() は呼ばれない
console.log(ok); // true
JavaScript

値を返す規則(真偽値以外)

|| は必ず true/false を返すわけではありません。「左が真なら左の値、左が偽なら右の値」を返します。これを利用すると「デフォルト値」を簡単に設定できます。

console.log("A" || "B");   // "A"(左が真扱い → 左を返す)
console.log("" || "B");    // "B"(左が偽扱い → 右を返す)
console.log(0 || 100);     // 100(0は偽扱い → 右を返す)
console.log(null || "X");  // "X"(nullは偽扱い → 右を返す)
JavaScript

falsy と truthy の理解

JavaScriptでは、真偽値以外にも「偽として扱われる値(falsy)」があります。代表的なものは false, 0, -0, 0n, "", null, undefined, NaN。これ以外は基本的に truthy(真扱い)です。

console.log("" || "デフォルト");       // "デフォルト"
console.log(undefined || "未設定");    // "未設定"
console.log("hello" || "デフォルト"); // "hello"
JavaScript

実用パターン

デフォルト値の設定

ユーザー入力が空なら、デフォルト値を使う例です。

const input = "";
const name = input || "名無し";
console.log(name); // "名無し"
JavaScript

簡易的な存在チェック

変数が null や undefined なら代替値を返す例です。

const userName = null;
const displayName = userName || "ゲスト";
console.log(displayName); // "ゲスト"
JavaScript

条件付き実行

左が falsy なら右が評価されるので、簡易的な処理呼び出しにも使えます。

const ready = false;
ready || console.log("準備ができていません");
JavaScript

例題で理解する

例題1:年齢か会員資格の判定

function canEnter(age, isMember) {
  return age >= 18 || isMember;
}
console.log(canEnter(20, false)); // true
console.log(canEnter(15, true));  // true
console.log(canEnter(15, false)); // false
JavaScript

例題2:入力がなければデフォルト値

function greet(name) {
  const displayName = name || "ゲスト";
  console.log(`こんにちは、${displayName}さん`);
}
greet("Taro"); // こんにちは、Taroさん
greet("");     // こんにちは、ゲストさん
JavaScript

例題3:ショートサーキットで処理を抑止

function heavy() {
  console.log("重い処理実行");
  return true;
}
const flag = true;
flag || heavy(); // 左がtrueなので右は実行されない
JavaScript

まとめ

論理 OR(||)は「どちらかが真なら真」という基本に加え、短絡評価で右側をスキップし、真偽値以外では「左が真なら左、偽なら右」を返すという性質を持ちます。これにより、条件分岐だけでなくデフォルト値設定や存在チェックなど幅広く活用できます。初心者は「ORは少なくとも1つ満たせばOK」「デフォルト値を設定できる」という2点をまず押さえると理解が深まります。

タイトルとURLをコピーしました