区分 | 演算子 | 説明 |
---|---|---|
算術演算子 | +, -, *, /, %, ++, --, - (符号反転) | 数値 (リテラル、変数の両方) を演算対象とみなし、単一の数値を返す。 |
代入演算子 | =, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^= | 右オペランドの値を左オペランドに代入する。 |
ビット演算子 | &, |, ^, ~, <<, >>, >>> | 演算対象を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 | → | … , … |