JavaScript の論理 OR (または ) 演算子は、左辺が の場合は を返し、それ以外の場合はデフォルトで右辺を返す演算子です。 || true 左辺 これは、両方の論理ステートメントをテストするために使用できること、および左側のオペランドが である場合に右側のオペランドを返すために使用できることを意味します。 falsy それがどのように機能するかを見てみましょう。 JavaScriptで真実と偽りが実際に意味すること 先に進む前に、最初に の意味を理解しましょう。漠然とした表現のように見えるかもしれませんが、実際には非常に具体的な定義があります。次の値は、JavaScript です。 falsy falsy false または または 0 -0 0n 空 文字列、つまり any "" null undefined NaN 同様に、 は単に で ことを意味します。 truthy falsy はない は と を意味する可能性があるため、デフォルト値の設定には不適切な場合があります。 falsy 0 "" たとえば、一部のシナリオでは、値が実際に であり、それを表示したい場合、 では表示できません。オペレーター。このような場合は、null 結合演算子を検討することをお勧めします。 0 || 論理 OR 演算子は JavaScript でどのように機能しますか? 前述のように、 operator には、JavaScript の 2 つの主要な機能があります。最も一般的には、論理 ステートメントで見つかります。 では、オペランドの 1 つ以上が true の場合に true を返しますが、 true の場合は最初の値を返すためにも使用され 。または、右側にデフォルトが設定されます。そうでない場合はオペランド。 || if..else truthy truthy 実際に値を返すため、これらの両方の方法で機能します。 || ロジックでの論理 OR の使用 || 見たことがあるでしょう や などの論理ステートメントで最も一般的に使用されます。これらの場合、通常は論理ステートメントをテストしているので、 オペランドの 1 つ以上が の場合、 を返します。 || if else || truthy true 以下で起こっているのは です。演算子は値を返し、 ステートメントはそれを または に変換します || if true false let x = 100; // This returns true, since both of these statements are correct. if(x > 5 || x > 10) { // ... } // Since both "1" and "2" can be converted to true, this also returns true in this context. if("1" || "2") { // ... } // Since both "" and null are falsy, they are converted to false, and as such this returns false. if("" || null) { // ... } これは を使用する主な方法の 1 つです。コード内で使用されますが、 の程度に基づいて値を ためにもよく使用されます。 || truthy falsy 戻り値 論理ステートメント以外の別の例を見てみましょう。前述のとおり、 の場合は左辺を返しますが、それ以外の場合は右辺を返します。 || truthy 少しややこしいので、いくつか例を見てみましょう。 // Is set to 1, since the first operand is falsy let x = false || 1; // Is set to hello, since "hello" is truthy let y = "hello" || true; 上記の例では、 の左辺が に設定されているため、 は 1 になります。同様に、 は ではないため、 の値は になります。この機能は、論理ステートメントや ステートメントでのアプリケーションとは異なりますが、多くの状況で役立ちます。 x false x y "hello" falsy y "hello" if..else 興味深いことに、最後に指定された項目が であっても、JavaScript はそれを返します。 falsy 例えば: // Is set to null since false is falsy let x = false || null; // Is set to false since 0 is falsy let y = 0 || false; OR 演算子の連鎖 をチェーンすることができます。 JavaScript の演算子。論理ステートメントを (if. 句で) チェーンする場合、チェーンされた項目が の場合、ステートメントは true を返します。 || if..else truthy // This works since both "1" and true are truthy if("1" || true || false) { // ... console.log('this works') } // This doesn't work since all values are falsy if(false || null || undefined) { console.log('this does not work'); } を使用する場合論理ステートメントの外側にチェーンされている場合、最初に見つかった の値を使用するか、デフォルトで最終値を使用します。たとえば、以下では、 は に等しく、 は 、 は です。なぜ が なのか疑問に思っているなら、それは でないものは であるからです。つまり、オブジェクトが であることを意味します! || truthy x 3 y true z {} z {} falsy truthy truthy // x is set to 3 let x = false || 0 || 3; // y is set to true let y = false || true || 3; // z is set to {} let z = {} || [] || x; 結論 演算子は、論理ステートメントで頻繁に使用されます。また、 でない値が見つかった場合は、その値にデフォルト設定されます。これは、JavaScript を理解するためのコアとなる柔軟な演算子です。別の同様の演算子に興味がある場合は、 についても読みたいと思うかもしれません。 || falsy ヌル合体演算子