一日客語:中文廁所, 客語:pencil xd
說說運算子的優先順序
簡單例子
計算這條運算式?就要考慮會先從哪部份計算
考慮的部分就是優先權
優先權高的會先算計算時再思考結合律
程式碼也是這樣的行為,決定在expression中的哪一運算子優先權高先被執行,則結合律會決定相鄰的運算子有相同優先順序
若優先權順序相同,會從左到右
優先權
**的優先權排行16、*的優先權排行15、+的優先權排行是14、=的優先權排行是3
運算子:+、*、+、**、=
JS運算子大部分是中序式
中間是運算子,左右兩側是運算元:Operand(運算元) Opreator(運算子) Operand(運算元)
以下運算子是二元運算
例如:指數 exponentiation
2**3**4
2**(3**4)
就算沒有小括號也會是一樣,因為他的結合性會從右到左
2**3**4
本身因為這個性質就會變成(2**(3**4))
如果是結合律是左到右就會變成((2**3)**4) =4096
let s = '10';
console.log(+s); // 10
100+(-10)
let value = 10;
value++;
let value = 10;
value--;
let result = true;
!result; // false
運算式有比較多運算子時
mdn:
可愛風下跪
JS運算子的優先順序:連結
JavaScript Unary Operators Explained
mdn