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