ホームページ  >  記事  >  ウェブフロントエンド  >  演算子の優先順位は JavaScript の三項演算子にどのような影響を与えますか?

演算子の優先順位は JavaScript の三項演算子にどのような影響を与えますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 04:08:28388ブラウズ

How Does Operator Precedence Impact JavaScript's Ternary Operator?

JavaScript の三項演算子における演算子の優先順位を理解する

JavaScript の三項演算子を扱うときは、コードが次のように実行されるように演算子の優先順位を把握することが重要です。意図した。この例では、三項演算子と代入演算子の組み合わせによって混乱が生じています。

コードの解釈

提供されたコード:

<code class="javascript">h.className += h.className ? ' error' : 'error'</code>

は JavaScript の構文的に正しくありません。代入演算子の左側 h.className はすでに式であるため、これに別の演算子を直接適用しようとするとエラーが発生します。

正しい構文

コードをエラーなしで実行するには、次のように書き換える必要があります。

<code class="javascript">h.className = h.className + (h.className ? ' error' : 'error')</code>

この場合、三項演算全体を括弧で囲み、その結果が h.className に割り当てられるようにします。 。三項演算子の優先順位は代入演算子よりも低いため、これは非常に重要です。

演算子の優先順位

演算子の優先順位は、コード式内で演算子が評価される順序を定義します。 。 JavaScript では、三項演算子 (?:) は代入演算子 (=) よりも優先順位が低く、三項演算は代入の前に実行されます。

したがって、上記のコードが正しく実行されると、 h.className がすでに設定されているかどうかを確認します。存在する場合、既存の値に「error」が追加されます。それ以外の場合は、h.className.

の値として「error」を割り当てます。

以上が演算子の優先順位は JavaScript の三項演算子にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。