【JavaScript】代入演算子と複合代入演算子 - 再代入と省略形
JavaScriptの代入演算子をご紹介します。
検証環境
代入演算子
代入演算子(=
)は“変数に値を代入(記憶)します。”
基本構文
変数 = 値
サンプル
___ih_hl_start
let num = 3;
___ih_hl_end
console.log(num);
3
このサンプルは変数num
に数値3
を代入しています。
再代入
再代入は“1度代入した変数に再度、値を代入すること”です。
let num = 3;
___ih_hl_start
num = 8;
___ih_hl_end
console.log(num);
8
1行目で3
を代入していますが、2行目で8
を再代入したため、4行目の出力によってコンソールに8
が表示されます。
複合代入演算子
複合代入演算子は“代入演算子とその他の演算を組み合わせた演算子”です。
主にソースコードを簡潔に記述するために使用します。
例えば、次のコードをご覧ください。
let num = 3;
___ih_hl_start
num = num + 8;
___ih_hl_end
console.log(num);
11
2行目で左右のオペランドに変数num
を使用しています。
代入演算子によって、左オペランドの変数num
に右オペランドのnum + 8
の計算結果を記憶します。
このソースコードを複合代入演算子で書き換えると次のようになります。
let num = 3;
___ih_diff_start
-num = num + 8;
+num += 8;
___ih_diff_end
console.log(num);
11
2行目の+=
が複合代入演算子です。
この演算子は左オペランドの変数の値に右オペランドの値を加算し、その結果を左オペランドの変数に代入します。
複合代入演算子を使った場合と使わない場合を比べると簡潔的なソースコードになったことが分かります。
種類
代表的な複合代入演算子は次の4つです。
演算子 | 演算内容 | 例 |
---|---|---|
+= | 左オペランドの変数の値に右オペランドの値を加算した結果を左オペランドの変数に代入する | num += 8 |
-= | 左オペランドの変数の値から右オペランドの値を減算した結果を左オペランドの変数に代入する | num -= 8 |
*= | 左オペランドの変数の値に右オペランドの値を乗算した結果を左オペランドの変数に代入する | num *= 8 |
/= | 左オペランドの変数の値を右オペランドの値で除算した結果を左オペランドの変数に代入する | num /= 8 |
サンプル
複合代入演算子(加算)
let num = 5;
___ih_hl_start
num += 4;
___ih_hl_end
console.log(num);
9
複合代入演算子(減算)
let num = 5;
___ih_hl_start
num -= 4;
___ih_hl_end
console.log(num);
1
複合代入演算子(乗算)
let num = 5;
___ih_hl_start
num *= 4;
___ih_hl_end
console.log(num);
20
複合代入演算子(除算)
let num = 5;
___ih_hl_start
num /= 4;
___ih_hl_end
console.log(num);
1.25