1. ホーム
  2. javascript

[解決済み] Javascript における演算子の優先順位 三項演算子

2022-09-26 11:22:58

質問

このコードの最初の部分(+=)と三項演算子の組み合わせが理解できません。

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' には害はないはずですが、それはまた別の問題です。

また、注意点として + は三項演算子より優先されることに注意してください。 JavaScript の演算子の優先順位