JavaScript運算符優先級
JavaScript 運算符優先級,是描述在計算機運算計算表達式時執行運算的先後順序。 先執行具有較高優先級的運算,然後執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。
優先級 | 運算符 | 說明 | 結合性 |
---|---|---|---|
1 | [] 、. 、() | 字段訪問、數組索引、函數調用和表達式分組 | 從左向右 |
2 | ++ -- -~!delete new typeof void | 一元運算符、返回數據類型、對象創建、未定 義的值 | 從右向左 |
3 | *、/、% | 相乘、相除、求余數 | 從左向右 |
4 | +、- | 相加、相減、字符串串聯 | 從左向右 |
5 | <<、>>、>>> | 左位移、右位移、無符號右移 | 從左向右 |
6 | <、<=、>、>=、instanceof | 小於、小於或等於、大於、大於或等於、是否 為特定類的實例 | 從左向右 |
7 | ==、!=、===、!== | 相等、不相等、全等,不全等 | 從左向右 |
8 | & | 按位「與」 | 從左向右 |
9 | ^ | 按位「異或」 | 從左向右 |
10 | | | 按位「或」 | 從左向右 |
11 | && | 短路與(邏輯「與」) | 從左向右 |
12 | || | 短路或(邏輯「或」) | 從左向右 |
13 | ?: | 條件運算符 | 從右向左 |
14 | =、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>= | 混合賦值運算符 | 從右向左 |
15 | , | 多個計算 | 按優先級計算,然後從右向左 |