學習 JavaScript 運算子的優先順序規則基礎知識
每個複雜的敘述都會引入優先順序的問題。
以這個為例:
const a = 1 \* 2 + 5 / 2 % 2
結果為 2.5,但為什麼呢?哪個運算會先執行,哪個需要等待呢?
某些運算符的優先順序高於其他的。以下是優先順序規則的列表:
運算符 | 描述 |
---|---|
- + ++ -- |
一元運算符,遞增和遞減 |
* / % |
乘法/除法 |
+ - |
加法/減法 |
= += -= *= /= %= **= |
賦值 |
同級別的運算(例如 +
和 -
)按照它們出現的順序執行。
按照這個表格,我們可以解決這個計算:
const a = 1 \* 2 + 5 / 2 % 2
const a = 2 + 5 / 2 % 2
const a = 2 + 2.5 % 2
const a = 2 + 0.5
const a = 2.5