算術演算子
| 演算子 | 概要 | 例 |
|---|---|---|
| + | 数値の加算 | 3 + 5 ➡︎ 8 |
| - | 数値の減算 | 10 -7 ➡︎ 3 |
| * | 数値の乗算 | 3 * 5 ➡︎ 15 |
| ** | 数値のべき乗 | 2 ** 3 ➡︎ 8 |
| / | 数値の徐算 | 10 / 5 ➡︎ 2 |
| % | 数値の剰余 | 10 /4 ➡︎ 2 |
| ++ | 前置加算 | x = 3; y = ++x; ➡︎ yは4 |
| ++ | 後置加算 | x = 3; y = x++; ➡︎ yは3 |
| -- | 前置減算 | x = 3; y = --x; ➡︎ yは2 |
| -- | 後置減算 | x = 3; y = x--; ➡︎ yは3 |
代入演算子
| 演算子 | 概要 | 例 |
|---|---|---|
| = | 変数などに値を代入 | x = 1 |
| += | 左辺の値に右辺の値を加算したものを代入 | x = 3; x += 2 ➡︎ 5 |
| -= | 左辺の値から右辺の値を減算したものを代入 | x = 3; x -= 2 ➡︎ 1 |
| *= | 左辺の値に右辺の値を乗算したものを代入 | x = 3; x *= 2 ➡︎ 6 |
| /= | 左辺の値を右辺の値で除算したものを代入 | x = 3; x /= 2 ➡︎ 1.5 |
| %= | 左辺の値を右辺の値で除算した余りを代入 | x = 3; x %= 2 ➡︎ 1 |
| **= | 左辺の値を右辺の値でべき乗したものを代入 | x = 3; x **= 2 ➡︎ 9 |
| &= | 左辺の値を右辺の値でビット論理積演算した結果を代入 | x = 10; x &= 5; ➡︎ 0 |
| |= | 左辺の値を右辺の値でビット論理和演算した結果を代入 | x = 10; x |= 5; ➡︎ 15 |
| ^= | 左辺の値を右辺のでビット排他的論理和演算した結果を代入 | x = 10; x ^= 5 ➡︎ 15 |
| &&= | 左辺の値がtrueの場合にだけ右辺に代入 (ES2021で導入された) | x = 1; x &&= 5; ➡︎ 5 |
| ||= | 左辺の値がfalseの場合にだけ右辺を代入 (ES2021で導入された) | x = 0; x ||= 5; ➡︎ 5 |
| ??= | 左の値がnull / undefinedの場合だけ右辺を代入(ES2021で導入された) | x = null; x ??= 5; ➡︎ 5 |
| <<= | 左辺の値を右辺の値だけ左シフトした結果を代入 | x = 10; x <<= 1; ➡︎ 20 |
| >>= | 左辺の値を右辺の値だけ右シフトした結果を代入 | x = 10; x >> =1 ➡︎ 5 |
| >>>= | 左辺の値を右辺の値だけ右シフトした結果を代入 (符号なし) | x = 10; x >> =2 ➡︎ 2 |
比較演算子
| 演算子 | 概要 | 例 |
|---|---|---|
| == | 左辺と右辺の値が等しい場合はtrue | 5 == 5 ➡︎ true |
| != | 右辺と左辺が等しくない場合はtrue | 5 != t ➡︎ true |
| < | 左辺が右辺より小さいい場合はtrue | 5 < 5 ➡︎ false |
| <= | 左辺が右辺以下の場合はtrue | 5 <= 5 ➡︎ true |
| > | 左辺が右辺より大きい場合はtrue | 5 > 3 ➡︎ true |
| >= | 左辺が右辺以上の場合はtrue | 5 >= 5 ➡︎ true |
| === | 左辺と右辺の値が等しくデータ型も同じ場合はtrue | 5 === '5' ➡︎ false |
| !== | 左辺と右辺の値が等しくない場合、またはデータが異なる異なる場合はtrue | 5 !== '5' ➡︎ true |
| ?: | 条件演算子。「条件式 ? 式1 : 式2」。条件式がtrueの場合は式1を、falseの場合は式2を返す | (10 === 1) ? 1 : 0 ➡︎ 0 |
| ?? | null合体演算子。左辺がnullでなければその値、、左辺がnullならば右辺の値 (両方ともnullならばnull) (ES2020で導入された) | null ?? 5 ➡︎ 5 |
論理演算子
| 演算子 | 概要 | 例 |
|---|---|---|
| && | 左右の式がともにtrueの場合はtrue | x && y ➡︎ false |
| || | 左右の式のどちらかがtrueの場合はtrue | x || y ➡︎ true |
| ! | 式がfalseの場合はtrue | !x ➡︎ false |
ビット演算子
| 演算子 | 概要 | 例 |
|---|---|---|
| & | 左式と右式の両方にセットされているビットをセット | 10 & 5 ➡︎ 1010 & 0101 ➡︎ 0000 ➡︎ 0 |
| | | 左式と右式のどちらかにセットされているビットをセット | 10 | 5 ➡︎ 1010 | 0101 ➡︎ 1111 ➡︎ 15 |
| ^ | 左式と右式のどちらかにセットされていて、かつ、両方にセットされていないビットをセット | 10 ^ 5 ➡︎ 1010 ^ 0101 ➡︎ 1111 ➡︎ 15 |
| - | ビットを反転 | -10 ➡︎ 1010 ➡︎ 0101 ➡︎ -11 |
| << | ビットを左にシフト | 10 << 1 ➡︎ 1010 << 1 ➡︎ 10100 ➡︎ 10100 ➡︎ 20 |
| >> | ビットを右にシフト (算術シフト) | 10 >> 1 ➡︎ 1010 >> 1 ➡︎ 0101 ➡︎ 5 |
| >>> | ビットを右シフト (論理シフト) | 10 >>> 2 ➡︎ 1010 >>> 2 ➡︎ 0010 ➡︎ 2 |
その他の演算子
| 演算子 | 概要 |
|---|---|
| , (カンマ) | 左右の式を続けて実行 |
| delete | オブジェクトのプロパティや配列の要素を削除 |
| in | 指定されたプロパティがオブジェクトに存在するか判定 |
| instanceof | オブジェクトが指定されたクラスのインスタンスか判定 |
| new | 新しいインスタンスを生成 |
| typeof | オペランドのデータ型を取得 |
| void | 未定義値を返す |