ホームページ > 記事 > ウェブフロントエンド > JavaScript の三項演算子を「=」演算子と一緒に使用すると動作が異なるのはなぜですか?
JavaScript の三項演算子と演算子の優先順位
予期しない結果を回避するには、コード内で演算が実行される順序を理解することが重要です。 JavaScript では、三項演算子は、特に他の演算子と組み合わせる場合に共通の課題を提示します。
次のコード スニペットを考えてみましょう:
h.className += h.className ? ' error' : 'error'
コードは次のように動作すると想定できます。
h.className = h.className + h.className ? ' error' : 'error'
ただし、この解釈はコンソール エラーが発生するため、正しくありません。コードを正しく理解するには、演算子の優先順位を考慮することが不可欠です。
答え:
コードを理解する鍵は、演算子が三項演算子よりも優先されることを理解することです。オペレーター。したがって、コードは次のように評価されます:
h.className = h.className + (h.className ? ' error' : 'error')
この場合、演算子は h.className と三項演算子の結果を連結します。三項演算子は、h.className の真偽をチェックし、真の場合は「error」を返し、そうでない場合は「error」を返します。
混乱を避けるため、操作のターゲットについて明確にすることをお勧めします。この場合、かっこを使用して式をグループ化すると、意図したとおりに演算子が h.className に適用されます。
以上がJavaScript の三項演算子を「=」演算子と一緒に使用すると動作が異なるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。