記事ディレクトリ
- OP1 と OP2 の優先順位が異なる場合 (以下の表を参照)、結合性に関係なく、最も優先順位の高い演算子が最初に実行されます。
console.log(3 + 10 * 2);
console.log((3 + 10) * 2);
- OP1 と OP2 の優先順位が同じ場合、結合性が考慮されます。
- 左結合 (左から右) は、左の部分式 (a OP b) OP c に括弧を追加することと同じです。
- 右結合 (右から左) は OP (b OP c) と同等です。
a = b = 5;
- 以下の表では、すべての演算子を優先順位の最高 (19) から最低 (1) までランク付けしています。
優先度 |
演算子の種類 |
組み合わせ |
オペレーター |
19 |
グループ |
該当なし (関係ありません) |
() |
同上 |
メンバーアクセス |
左から右へ |
. |
同上 |
計算されたメンバーのアクセス |
同上 |
... |
同上 |
関数呼び出し |
同上 |
fun() |
同上 |
オプションのチェーニング |
同上 |
?. |
同上 |
new (パラメータリスト付き) |
該当なし |
new |
17 |
new (引数リストなし) |
右から左へ |
new |
16 |
ポストインクリメント |
該当なし |
++ |
同上 |
ポストデクリメント |
同上 |
-- |
15 |
論理否定(!) |
右から左へ |
! |
同上 |
ビット単位の NOT (~) |
同上 |
~ |
同上 |
単項加算 (+) |
同上 |
+ |
同上 |
単項減算 (-) |
同上 |
- |
同上 |
事前インクリメント |
同上 |
++ |
同上 |
プリデクリメント |
同上 |
-- |
同上 |
の種類 |
同上 |
typeof |
同上 |
空所 |
同上 |
void |
同上 |
消去 |
同上 |
delete |
同上 |
待つ |
同上 |
await |
14 |
力(**) |
右から左へ |
** |
13 |
乗算(*) |
左から右へ |
* |
同上 |
分割(/) |
同上 |
/ |
同上 |
余剰(%) |
同上 |
% |
12 |
加算(+) |
左から右へ |
+ |
同上 |
減算(-) |
同上 |
- |
11 |
ビット単位の左シフト (<<) |
左から右へ |
<< |
同上 |
ビット単位の右シフト (>>) |
同上 |
>> |
同上 |
符号なし右シフト (>>>) |
同上 |
>>> |
10 |
未満 (<) |
左から右へ |
< |
同上 |
以下 (<=) |
同上 |
<= |
同上 |
より大きい (>) |
同上 |
> |
同上 |
以上 (>=) |
同上 |
>= |
同上 |
で |
同上 |
in |
同上 |
…のインスタンス |
同上 |
instanceof |
9 |
等しい (==) |
左から右へ |
== |
同上 |
等しくない (!=) |
同上 |
!= |
同上 |
一貫性のある/厳密な等価性 (===) |
同上 |
=== |
同上 |
一貫性がない/厳密には等しくない (!==) |
同上 |
!== |
8 |
ビット単位の AND (&) |
左から右へ |
& |
7 |
ビットごとの XOR (^) |
左から右へ |
^ |
6 |
ビット単位または (|) |
左から右へ |
| |
5 |
論理積 (&&) |
左から右へ |
&& |
4 |
論理和 (||) |
左から右へ |
|| |
同上 |
ヌル合体(??) |
左から右へ |
?? |
3 |
条件付き (三項) 演算子 |
右から左へ |
? … : |
2 |
割り当て |
右から左へ |
= |
同上 |
同上 |
同上 |
+= |
同上 |
同上 |
同上 |
-= |
同上 |
同上 |
同上 |
**= |
同上 |
同上 |
同上 |
*= |
同上 |
同上 |
同上 |
/= |
同上 |
同上 |
同上 |
%= |
同上 |
同上 |
同上 |
<<= |
同上 |
同上 |
同上 |
>>= |
同上 |
同上 |
同上 |
>>>= |
同上 |
同上 |
同上 |
&= |
同上 |
同上 |
同上 |
^= |
同上 |
同上 |
同上 |
|= |
同上 |
同上 |
同上 |
&&= |
同上 |
同上 |
同上 |
||=. |
同上 |
同上 |
同上 |
??= |
1 |
カンマ/シーケンス |
左から右へ |
, |