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 的真實性,如果為 true,則傳回“error”,否則傳回“error”。
為了避免混淆,建議明確操作的目標。在這種情況下,使用括號對表達式進行分組可確保運算子按預期應用於 h.className。
以上是為什麼 JavaScript 的三元運算子與 `=` 運算子一起使用時表現不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!