JavaScript の ??
、||
、および &&
演算子が内部でどのように動作するか考えたことはありますか? この記事では、短絡評価の謎を解き明かし、その動作を説明し、ベスト プラクティスを紹介します。
JavaScript の短絡評価 は、論理演算子が式を左から右に評価し、結果が判明するとすぐに停止することを意味します。
論理積 (&&
)
最初に見つかった偽の値を返します。それ以外の場合は、すべてが真実であれば最後の値を返します。
<code class="language-javascript">let x = 5; let y = 0; console.log(x && y); // 0 console.log(x && true); // true</code>
論理和 (||
)
最初に見つかった真の値を返します。それ以外の場合、すべてが false であれば最後の値を返します。
<code class="language-javascript">let a = null; let b = "Hello"; console.log(a || b); // Hello console.log(a || false); // false</code>
ヌル合体演算子 (??
)
左側のオペランドが または の場合、デフォルト値 null
のみundefined
を提供します。
<code class="language-javascript">let userName = null; let result = 0 ?? 100; console.log(result); // 0 console.log(userName ?? "Guest"); // Guest</code>
併用 (ベストプラクティスあり)
これらの演算子を組み合わせる場合は、予期しない結果を防ぐためにかっこを慎重に使用する必要があります。
<code class="language-javascript">let a = null; let b = 0; let c = 10; let d = 20; let result = (a ?? b) || (c && d); console.log(result); // 20</code>
(a ?? b)
は 0
と評価されます (a
は null
であるため)。 (c && d)
は 20
と評価されます。 したがって、0 || 20
の結果は 20
になります。
短絡評価の利点:
null
または undefined
値に対する操作を防止します。欠点:
ベストプラクティス:
??
または ||
を扱う場合は、他の偽の値 (null
、undefined
など) をオーバーライドしないように、0
よりも ""
を優先します。短絡評価は JavaScript に固有のものではありません。これは多くのプログラミング言語 (Python、Java、C/C など) で共通の機能ですが、構文は異なる場合があります。
LinkedIn で私とつながりましょう: www.linkedin.com/in/geetansh-chahal-b7473b1b4/
以上がJavaScript での短絡評価: パフォーマンスの向上とロジックの簡素化!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。