あーりーです。
JavaScriptをじわじわと勉強しています。
前回は、算術演算子について書きました。
今回のテーマは「複合代入演算子」です。
複合代入演算子…
パッと聞くと、難しそうな言葉ですね。
でも、ご安心を。
やることと言えば、単純な足し算、引き算、かけ算、わり算です。
左辺と右辺
複合代入演算子の話に入る前に、思い出しておきたいことがあります。
数式の「左辺」と「右辺」という言葉の意味です。
こちらをご覧ください。
a=1+5
この場合…
「左辺」は「a」です。
「右辺」は「1+5」です。
イコール(=)をはさんで左側が「左辺」、右側が「右辺」でしたよね。
複合代入演算子の話をすると、「左辺」や「右辺」といった言葉がちょいちょい出てくるので、念のための確認でした。
イコールの意味は代入
それから…
もう一つ、思い出しておきたいことがあります。
JavaScriptにおけるイコール(=)の意味です。
こちらをご覧ください。
a=10
これは、「a」と「10」が等しい、という意味ではなく…
変数「a」に「10」を代入する、という意味です。
JavaScriptのイコール(=)は、「等しい」ではなく「代入」を意味します。
さてさて。
ここまで思い出したところで、いよいよ複合代入演算子の話です。
複合代入演算子とは
複合代入演算子とは、計算のためのちょっと特別な記号です。
複合代入演算子には、次のような種類があります。
+=
-=
*=
/=
%=
++
– –
では、一つずつ見ていきましょ~。
+=
まず「+=」を使った計算式の例です。
それがこちら。
var a=10; a+=20;
1行目をご覧ください。
var a=10;
「a」に「10」を代入しています。
そして2行目。
a+=20;
複合代入演算子の「+=」が登場しました。
「+=」の意味は…
「左辺+右辺」の値を「左辺」に代入する
です。
実際に数字をあてはめて考えてみます。
あらためて「左辺」と「右辺」を見てみましょう。
a+=20;
ご覧のように左辺は「a」です。
「a」には「10」が代入されていました。
だから「左辺」は「10」ということになります。
そして右辺は「20」です。
つまり…
「左辺+右辺」の値を「左辺」に代入する
とは、
「10+20」の値を「左辺」に代入する
という意味になります。
つまり「30」が「左辺」に代入されます。
こうして最終的には、左辺「a」は「30」になります。
-=
「-=」を使った計算式の例です。
var a=10; a-=3;
「-=」の意味は…
「左辺-右辺」の値を「左辺」に代入する
です。
今回の例の場合、「10-3」が「左辺」に代入されます。
こうして左辺「a」は「7」になります。
*=
「*=」を使った計算式の例です。
var a=10; a*=3;
「*=」の意味は…
「左辺×右辺」の値を「左辺」に代入する
です。
今回の例の場合、「10×3」が「左辺」に代入されます。
こうして左辺「a」は「30」になります。
/=
「/=」を使った計算式の例です。
var a=30; a/=5;
「/=」の意味は…
「左辺÷右辺」の値を「左辺」に代入する
です。
今回の例の場合、「30÷5」が「左辺」に代入されます。
こうして左辺「a」は「6」になります。
%=
「%=」を使った計算式の例です。
var a=5; a%=2;
「%=」の意味は…
「左辺÷右辺」のあまりを「左辺」に代入する
です。
今回の例の場合、「5÷2」のあまりが「左辺」に代入されます。
「5÷2」は「2」、そしてあまり「1」です。
こうして左辺「a」は「1」になります。
インクリメント
インクリメントとは「++」とうい記号です。
「++」を使った計算式の例です。
var a=5; a++;
これは単純に「1」を足す、という意味です。
「5+1」は「6」です。
こうして「a」は「6」になります。
デクリメント
デクリメントとは「– –」という記号です。
「– –」を使った計算式の例です。
var a=5; a--;
これも単純に「1」を引く、という意味です。
「5-1」は「4」です。
こうして「a」は「4」になります。
以上が、複合代入演算子の話でした。
今回はこれでおしまい。
お付き合いありがとうございました。
JavaScriptの記事は、この記事も含めて「初心者のための超わかりやすいJavaScript入門」にまとめてあります。よろしければご覧ください。