JavaScript 代入演算子

JavaScriptの代入演算子は、JavaScriptの変数に値を代入します。

代入演算子一覧
演算子 同等の式
= x = y x = y
+= x += y x = x + y
-= x -= y x = x – y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
**= x **= y x = x ** y

シフト代入演算子

シフト代入演算子一覧
演算子 同等の式
<<= x <<= y x = x << y
>>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y

ビット演算代入演算子

ビット演算代入演算子一覧
演算子 同等の式
&= x &= y x = x & y
^= x ^= y x = x ^ y
|= x |= y x = x | y

論理演算代入演算子

論理演算代入演算子一覧
演算子 同等の式
&&= x &&= y x = x && (x = y)
||= x ||= y x = x || (x = y)
??= x ??= y x = x ?? (x = y)

論理代入演算子はES2020で導入されました。

= 演算子

単純代入演算子(=)は変数に値を代入します。

単純代入の例


let x = 10;
let x = 10 + y;

+= 演算子

加算代入演算子(+=)は変数に値を加算します。

加算代入の例


let x = 10;
x += 5;
let text = "Hello"; text += " World";

-= 演算子

減算代入演算子(-=)は変数から値を減算します。

減算代入の例


let x = 10;
x -= 5;

*= 演算子

乗算代入演算子(*=)は変数を乗算します。

乗算代入の例


let x = 10;
x *= 5;

**= 演算子

累乗代入演算子(**=)は変数を指数にします。

累乗代入の例


let x = 10;
x **= 5;

/= 演算子

除算代入演算子(/=)は変数を除算します。

除算代入の例


let x = 10;
x /= 5;

%= 演算子

剰余代入演算子(%=)は変数に剰余を代入します。

剰余代入の例


let x = 10;
x %= 5;

<<= 演算子

左シフト代入演算子(<<=)は変数を左シフトします。

左シフト代入の例


let x = -100;
x <<= 5;

>>= 演算子

右シフト代入演算子(>>=)は変数を右シフトします(符号付き)。

右シフト代入の例


let x = -100;
x >>= 5;

>>>= 演算子

符号なし右シフト代入演算子(>>>=)は変数を右シフトします(符号なし)。

符号なし右シフト代入の例


let x = -100;
x >>>= 5;

&= 演算子

ビット AND 代入演算子(&=)は二つのオペランドに対してビット AND 演算を行い、その結果を変数に代入します。

ビット AND 代入の例


let x = 10;
x &= 5;

|= 演算子

ビット OR 代入演算子(|=)は二つのオペランドに対してビット OR 演算を行い、その結果を変数に代入します。

ビット OR 代入の例


let x = 10;
x |= 5;

^= 演算子

ビット XOR 代入演算子(^=)は二つのオペランドに対してビット XOR 演算を行い、その結果を変数に代入します。

ビット XOR 代入の例


let x = 10;
x ^= 5;

&&= 演算子

論理 AND 代入演算子(&&=)は二つの値の間で使用されます。最初の値が true の場合、二つ目の値が代入されます。

論理 AND 代入の例


let x = 10;
x &&= 5;

&&= 演算子はES2020の機能です。

||= 演算子

論理 OR 代入演算子(||=)は二つの値の間で使用されます。最初の値が false の場合、二つ目の値が代入されます。

論理 OR 代入の例


let x = 10;
x ||= 5;

||= 演算子はES2020の機能です。

??= 演算子

Nullish coalescing 代入演算子(??=)は二つの値の間で使用されます。最初の値が undefined または null の場合、二つ目の値が代入されます。

Nullish coalescing 代入の例


let x;
x ??= 5;

??= 演算子はES2020の機能です。