算術演算子
演算子 | 概要 | 例 |
---|---|---|
+ | 数値の加算 | 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 | 未定義値を返す |