js 運算子優先順序總結
阿新 • • 發佈:2018-11-11
下面的表將所有運算子按照優先順序的不同從高到低排列(來源:MDN)
優先順序 | 運算型別 | 關聯性 | 運算子 |
---|---|---|---|
20 | 圓括號 |
n/a | ( … ) |
19 | 成員訪問 |
從左到右 | … . … |
需計算的成員訪問 |
從左到右 | … [ … ] |
|
new (帶引數列表) |
n/a | new … ( … ) |
|
函式呼叫 | 從左到右 | … ( … ) |
|
18 | new (無引數列表) | 從右到左 | new … |
17 | 後置遞增(運算子在後) | n/a |
… ++ |
後置遞減(運算子在後) | … -- |
||
16 | 邏輯非 | 從右到左 | ! … |
按位非 | ~ … |
||
一元加法 | + … |
||
一元減法 | - … |
||
前置遞增 | ++ … |
||
前置遞減 | -- … |
||
typeof | typeof … |
||
void | void … |
||
delete | delete … |
||
await | await … |
||
15 | 冪 | 從右到左 | … ** … |
14 | 乘法 | 從左到右 |
… * … |
除法 | … / … |
||
取模 | … % … |
||
13 | 加法 | 從左到右 |
… + … |
減法 | … - … |
||
12 | 按位左移 | 從左到右 | … << … |
按位右移 | … >> … |
||
無符號右移 | … >>> … |
||
11 | 小於 | 從左到右 | … < … |
小於等於 | … <= … |
||
大於 | … > … |
||
大於等於 | … >= … |
||
in | … in … |
||
instanceof | … instanceof … |
||
10 | 等號 | 從左到右 |
… == … |
非等號 | … != … |
||
全等號 | … === … |
||
非全等號 | … !== … |
||
9 | 按位與 | 從左到右 | … & … |
8 | 按位異或 | 從左到右 | … ^ … |
7 | 按位或 | 從左到右 | … | … |
6 | 邏輯與 | 從左到右 | … && … |
5 | 邏輯或 | 從左到右 | … || … |
4 | 條件運算子 | 從右到左 | … ? … : … |
3 | 賦值 | 從右到左 | … = … |
… += … |
|||
… -= … |
|||
… *= … |
|||
… /= … |
|||
… %= … |
|||
… <<= … |
|||
… >>= … |
|||
… >>>= … |
|||
… &= … |
|||
… ^= … |
|||
… |= … |
|||
2 | yield | 從右到左 | yield … |
yield* | yield* … |
||
1 | 展開運算子 | n/a | ... … |
0 | 逗號 | 從左到右 | … , … |