論理和 (||)

(式と演算子)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_OR

論理和(||)は、左辺の値の評価結果がtrueならば、そのまま左辺の値を返す。一方で、左辺の値の評価結果がfalseであるならば、右辺の評価結果を返す。

// 左辺がtrueなので、左辺の値が返される
console.log(true || "右辺の値"); // => true
// 左辺がfalseなので、右辺の値が返される
console.log(false || "右辺の値"); // => "右辺の値"

OR演算子(||)は、左辺の評価がtrueの場合、オペランドの右辺を評価しない。これは、AND演算子(&&)と同様の短絡評価となるためである。

// 左辺がtrueなので、右辺は評価されない
true || console.log("このコンソールログは実行されません");
// 左辺がfalseなので、右辺は評価される
false || console.log("このコンソールログは実行されます");

また、OR演算子は左辺を評価する際に、左辺を真偽値へと暗黙的な型変換を行う。次のように、OR演算子は左辺がfalsyの場合には右辺の値を返す。
なお、truthyな値が見つからない場合は最後の値を返す。

// 左辺がfalsyなので、右辺の値が返される
console.log(0 || "左辺はfalsy"); // => "左辺はfalsy"
console.log("" || "左辺はfalsy"); // => "左辺はfalsy"
console.log(null || "左辺はfalsy"); // => "左辺はfalsy"
console.log(null || 0 || 1); // => "1" (the first truthy value)
console.log(undefined || null || 0); // => "0" (all falsy, returns the last value)

// 左辺はfalsyではないため、左辺の値が返される
console.log(42 || "右辺の値"); // => 42
console.log("文字列" || "右辺の値"); // => "文字列"

論理和(||)で初期値を設定する

// 挨拶を返す関数
function fc(name, greeting) {
  // 引数greetingに値がなければ「こんにちは」が変数に格納される
  const greetingText = greeting || "こんにちは";
  return `${greetingText}。${name}さん`;
}
console.log(fc("マイク", "ハロー")); // ハロー。マイクさん
console.log(fc("花子")); // こんにちは。花子さん
inserted by FC2 system