| 区分 | 演算子 | 説明 |
|---|---|---|
| 算術演算子 | +, -, *, /, %, ++, --, - (符号反転) | 数値 (リテラル、変数の両方) を演算対象とみなし、単一の数値を返す。 |
| 代入演算子 | =, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^= | 右オペランドの値を左オペランドに代入する。 |
| ビット演算子 | &, |, ^, ~, <<, >>, >>> | 演算対象を32ビットの (0と1の) ビットの並びとして扱い、標準的なJavaScriptの数値を返す。 |
| 比較演算子 | ==, !=, ===, !==, >, >=, <, <= | 演算対象を比較し、比較が真であるかどうかを基準とした論理値を返す。 |
| 論理演算子 | &&, ||, ??, ! | 真偽 (論理) 値とともに用いられた場合は、真偽値を返す。 |
| 文字列演算子 | +, += | 2つの文字列の値を結合し、2つの文字列を組み合わせた別の文字列を返す。 |
| メンバー演算子 | object.property, object[ "property" ] |
オブジェクトのメソッド、またはプロパティへのアクセスを提供する。 (ブラケット表記法は、連想配列に使用する) |
| 演算子 | 説明 |
|---|---|
| ? : (条件演算子) | 条件に基づいて、2つの値のうちの1つを返す。 |
| , (カンマ演算子) | 複数の式を、単一の文で評価する。 |
| delete | オブジェクトを削除する |
| function | 関数を定義する。 |
| in | オブジェクトが指定のプロパティを持っているか判別する。 |
| instanceof | |
| let | ブロックレベルのスコープの変数を宣言する。 |
| new | |
| set | プロパティに、値が設定されるときに呼び出される関数を割り当てる。 |
| get | プロパティに、値が取得されるときに呼び出される関数を割り当てる。 |
| this | コンテキスト (カレント) オブジェクトを参照する。 |
| typeof | |
| void | |
| yield |
| 優先順位 | 結合性 | 演算子 |
|---|---|---|
| 19 | なし | ( … ) |
| 18 | → | … . … |
| → | … [ … ] |
|
| なし | new … ( … ) |
|
| 17 | → | … ( …) |
| ← | new … |
|
| 16 | なし | … ++ |
| なし | … -- |
|
| 15 | ← | ! … |
| ← | ~ … |
|
| ← | + … |
|
| ← | - … |
|
| ← | ++ … |
|
| ← | -- … |
|
| ← | typeof … |
|
| ← | void … |
|
| ← | delete … |
|
| 14 | ← | … ** … |
| → | … * … |
|
| → | … / … |
|
| → | … % … |
|
| 13 | → | … + … |
| → | … - … |
|
| 12 | → | … << … |
| → | … >> … |
|
| → | … >>> … |
|
| 11 | → | … < … |
| → | … <= … |
|
| → | … > … |
|
| → | … >= … |
|
| → | … in … |
|
| → | … instanceof … |
|
| 10 | → | … == … |
| → | … != … |
|
| → | … === … |
|
| → | … !== … |
|
| 9 | → | … & … |
| 8 | → | … ^ … |
| 7 | → | … | … |
| 6 | → | … && … |
| 5 | → | … || … |
| 4 | ← | … ? … : … |
| 3 | ← | … = … |
… += … |
||
… -= … |
||
… **= … |
||
… *= … |
||
… /= … |
||
… %= … |
||
… <<= … |
||
… >>= … |
||
… >>>= … |
||
… &= … |
||
… ^= … |
||
… |= … |
||
| 2 | ← | yield … |
| ← | yield* … |
|
| 1 | なし | ... … |
| 0 | → | … , … |