演算子の優先順位

算数において、掛け算を、足し算よりも優先するように、JavaScriptの演算子にも、優先順位がある。優先したい演算を()で括ることで、優先順位を変更することもできる。優先順位が同じときは、結合規則(左から評価するか、右から評価するか)に基づき優先順位が決まる。

優先順位一覧表

優先順位 演算子 結合規則 演算子タイプ
1 . 左 メンバー演算子
[] 左 メンバー演算子
new 右 new演算子
2 () 左 関数呼び出し演算子、グループ化演算子
3 ++ インクリメント演算子(加算子)
-- デクリメント演算子(減算子)
4 ! 右 論理否定演算子
~ 右 ビット論理否定演算子
+ 右 単項プラス演算子
- 右 単項マイナス演算子
typeof 右 typeof演算子
void 右 void演算子
delete 右 delete演算子
5 * 左 乗算演算子(掛け算の算術演算子)
/ 左 除算演算子(割り算の算術演算子)
% 左 剰余演算子(除算の余りを求める算術演算子)
6 + 左 加算演算子(足し算の算術演算子)
- 左 減算演算子(引き算の算術演算子)
7 << 左 左シフト演算子
>> 左 右シフト演算子
>>> 左 0埋め右シフト演算子
8 < 左 小なり
< 左 大なり
<= 左 以下(小なりイコール)
>= 左 以上(大なりイコール)
in 左 in演算子
instanceof 左 instanceof演算子
9 == 左 等価演算子
=== 左 型も含めて比較する等価演算子
!= 左 不等価演算子
!== 左 型も含めて比較する不等価演算子
10 & 左 ビット論理積演算子
11 ^ 左 ビット排他的論理和演算子
12 | 左 ビット論理和演算子
13 && 左 論理積演算子
14 || 左 論理和演算子
15 ?: 右 条件演算子(三項演算子)
16 yield 右 yield演算子
17 = 右 代入演算子
+= 右 加算代入演算子
-= 右 減算代入演算子
*= 右 乗算代入演算子
/= 右 除算代入演算子
%= 右 剰余代入演算子
<<= 右 左シフト代入演算子
>>= 右 右シフト代入演算子
>>>= 右 0埋め右シフト代入演算子
&= 右 ビット論理積代入演算子
^= 右 ビット排他的論理和代入演算子
|= 右 ビット論理和代入演算子
18 , 左 カンマ演算子

スポンサード リンク

カテゴリー: JavaScript, リファレンス, 演算子 パーマリンク