JavaScript は、C# の && 演算子と同様の「ショートサーキット」評価の概念を採用しています。この評価方法では、右側の条件の評価に進む前に、演算子の左側の条件のパフォーマンスが優先されます。
JavaScript の短絡評価
JavaScript での短絡評価を示すために、次の例を考えてみましょう:
if (true || foo.foo){ // Passes, no errors because foo isn't defined. }
このシナリオでは、 JavaScript は最初の条件 (true) を評価します。 || 以来演算子が論理 OR を表す場合、存在しないプロパティ foo.foo を参照する 2 番目の条件を評価する必要がなく、式全体が true と評価されます。この動作により、不必要な計算が回避され、効率的なリソース割り当てが保証されます。
C# の回避策
C# は、短絡評価をネイティブにサポートしていませんが、以下を使用して同等の動作を実現できます。条件演算子:
if ((bool1) ? true : bool2)
この場合、bool1 が true と評価されると、式は次のように評価されます。 bool2 を実行せずに true に設定します。ただし、条件演算子は後でとはいえ両方の式を評価するため、このアプローチは JavaScript の短絡評価と同一ではないことに注意してください。
以上がJavaScript のショートサーキット評価は C# のアプローチとどのように比較されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。