概要
javascriptは算術演算と代入演算子を組み合わせて使用することができます。
例えば二つのオペランドを「+=」という書き方を使って右辺のオペランドを左辺に代入する時、値を加算して代入することが可能です。
サンプル
次のような例を書いてみて動きを確かめます。
[js]
var test = 10;
test += 20;
console.log("test -> " + test);
[/js]
非常に簡単な例ですが、出力結果は「30」と出力されます。
この時に気をつけなければならないのは、上記の例の場合は2つのオペランドが数値であることです。
では、この数値が文字列だった場合、どのような動きになるか試してみます。
[js]
var test = ’10’;
test += ’20’;
console.log("test -> " + test);
[/js]
先ほどの例とほとんど同様のコードですが、出力結果は「1020」となります。
代入するタイミングの算術演算子(加算演算子)が、文字列同士を結合する働きをした為です。
代入演算子の種類
代入演算子には、上記の加算演算子の他に、次のような種類があります。
[js]
//加算代入演算子
+=
//減算代入演算子
-=
//乗算代入演算子
*=
//除算代入演算子
/=
//剰余代入演算子
%=
//左シフト代入演算子
<<=
//右シフト代入演算子(符号有り)
>>=
//0埋め右シフト代入演算子(符号無し)
>>>=
//ビットごとのAND代入演算子
&=
//ビットごとのOR代入演算子
|=
//ビットごとのXOR代入演算子
^=
[/js]
それぞれの代入演算子に記載している「=」の前の演算子の性質を持ち、その演算結果を左にあるオペランドに代入する。という働きになります。