JavaScriptの演算子

区分 演算子 説明
算術演算子 +, -, *, /, %, ++, --, - (符号反転) 数値 (リテラル、変数の両方) を演算対象とみなし、単一の数値を返す。
代入演算子 =, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^= 右オペランドの値を左オペランドに代入する。
ビット演算子 &, |, ^, ~, <<, >>, >>> 演算対象を32ビットの (0と1の) ビットの並びとして扱い、標準的なJavaScriptの数値を返す。
比較演算子 ==, !=, ===, !==, >, >=, <, <= 演算対象を比較し、比較が真であるかどうかを基準とした論理値を返す。
論理演算子 &&, ||, ??, ! 真偽 (論理) 値とともに用いられた場合は、真偽値を返す。
文字列演算子 +, += 2つの文字列の値を結合し、2つの文字列を組み合わせた別の文字列を返す。
メンバー演算子 object.property, object[ "property" ]

オブジェクトのメソッド、またはプロパティへのアクセスを提供する。

(ブラケット表記法は、連想配列に使用する)

演算子 - JavaScript | MDN

特殊演算子 (Special Operators)

演算子 説明
? : (条件演算子) 条件に基づいて、2つの値のうちの1つを返す。
, (カンマ演算子) 複数の式を、単一の文で評価する。
delete オブジェクトを削除する
function 関数を定義する。
in オブジェクトが指定のプロパティを持っているか判別する。
instanceof  
let ブロックレベルのスコープの変数を宣言する。
new  
set プロパティに、値が設定されるときに呼び出される関数を割り当てる。
get プロパティに、値が取得されるときに呼び出される関数を割り当てる。
this コンテキスト (カレント) オブジェクトを参照する。
typeof  
void  
yield  
演算子 - JavaScript | MDN

演算子の優先順位 (Operator Precedence)

優先順位 結合性 演算子
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 → … , …
演算子の優先順位 | MDN
JavaScriptのドキュメントから検索