ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript での短絡評価: パフォーマンスの向上とロジックの簡素化!

JavaScript での短絡評価: パフォーマンスの向上とロジックの簡素化!

Barbara Streisand
リリース: 2025-01-25 14:30:13
オリジナル
657 人が閲覧しました

Short-Circuit Evaluation in JavaScript: Boost Performance and Simplify Logic!

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 と評価されます (anull であるため)。 (c && d)20 と評価されます。 したがって、0 || 20 の結果は 20 になります。

短絡評価の利点:

  • パフォーマンスの向上: 不必要な計算を回避します。
  • コードの可読性の向上: コードがより簡潔になり、より簡潔になります。
  • エラー防止: null または undefined 値に対する操作を防止します。

欠点:

  • デバッグの課題: 条件が短絡した場合、正確な障害点を特定するのは困難です。
  • 誤解の可能性: 注意して使用しないと混乱を招く可能性があります。
  • 予期せぬ結果: 不適切に使用すると、予期しない結果が生じる可能性があります。

ベストプラクティス:

  • 単純なロジックに使用します。
  • わかりやすくするためにコメントを追加します。
  • 特に ?? または || を扱う場合は、他の偽の値 (nullundefined など) をオーバーライドしないように、0 よりも "" を優先します。

短絡評価は JavaScript に固有のものではありません。これは多くのプログラミング言語 (Python、Java、C/C など) で共通の機能ですが、構文は異なる場合があります。

LinkedIn で私とつながりましょう: www.linkedin.com/in/geetansh-chahal-b7473b1b4/

以上がJavaScript での短絡評価: パフォーマンスの向上とロジックの簡素化!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート