JavaScript の三項演算子を「=」演算子と一緒に使用すると動作が異なるのはなぜですか?

Linda Hamilton
リリース: 2024-10-29 22:41:03
オリジナル
193 人が閲覧しました

Why Does JavaScript's Ternary Operator Behave Differently When Used with the ` =` Operator?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!