JavaScript の短絡評価 - 包括的なガイド
プログラミングにおいて、短絡評価とは、式が次の条件を満たすまで評価される動作を指します。結果はわかっているため、式の残りの部分はスキップされます。このメカニズムは一般に、不必要な計算を避けるために条件文で使用されます。
JavaScript は短絡評価をサポートしていますか?
はい、JavaScript は短絡評価をサポートしています。以下の例で示すように、&& (AND) と || (OR) 演算子はこの動作を示します。
例:
次の JavaScript コードを考えてみましょう:
if (true || foo.foo) { // Passes, no errors because `foo` isn't defined. }
ライブ デモ: https://jsfiddle.net/iayzejre/
説明:
||演算子は、最初のオペランド (この場合は true) が true と評価されると、すぐに true を返します。したがって、2 番目のオペランドは評価されないため、foo.foo が定義されているかどうかに関係なく、式は渡されます。
例:
次に、次のコードを考えてみましょう。
if (false && foo.foo) { // Also passes, no errors because `foo` isn't defined. }
ライブデモ: https://jsfiddle.net/iayzejre/1/
説明:
同様に、&& 演算子は、最初のオペランドが true と評価された場合にのみ 2 番目のオペランドを評価します。 。 false は常に false であるため、条件は即座に失敗し、foo.foo は評価されません。
他の言語での回避策
コーディング言語が short-回路評価では、三項演算子を使用した回避策が考えられます。次の C# の例を考えてみましょう:
if (true ? true : foo.foo) { // Passes without compilation errors. }
この場合、最初のオペランド (true 条件) が true の場合、三項演算子はすぐに true を返します。 false の場合、2 番目のオペランド (foo.foo 式) が評価されます。ただし、この回避策はすべてのシナリオに適しているわけではないため、注意して使用する必要があります。
以上がJavaScript は論理演算子で短絡評価を利用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。