理解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」加到現有值;否則,它會將 'error' 指定為 h.className.
的值以上是運算子優先權如何影響 JavaScript 的三元運算子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!