りな塾#4 ++、--演算子
もう一つ、よく使う特殊な演算子を紹介したいと思います。
++演算子
これもよく出てくる演算子です。
変数に +1 する、というだけの演算子です。
index++;
このような使い方をします。意味としては以下と同じと思ってもらえば良いと思います。(※ 後述しますが、厳密にはちょっと違います。)
index += 1;
または
index = index + 1;
プログラムでは同じ処理をなんどもリピートさせて実行する、というようなことをよくします。表計算の1行目から1000行目までを順番に処理する、、、とか。そういったときにカウントアップするのに使うのです。
繰り返し処理{
index++;
}
このように{}の中を何度もリピートさせるような処理を書くと、処理ごとにindex が +1 されていきます。
なので、計算で使うというよりは、数を数えるカウンターとして使ったり、1から特定の番号までを順番に処理するときのインデックスとして使うことが多いです。
後に繰り返し処理を学ぶ際に再登場しますので、忘れないで覚えておいてくださいね!
++演算子が処理されるタイミング(中級編)
厳密には index += 1; とちょっと違う動きをします。
「index++」 とすると行が実行された後に +1 されます。
「++index」とすると行が実行される前に +1 されます。
なんのこっちゃさっぱりですよね。。。ちょっと実験してみましょう。
index = 0;
console.log( index++ );
console.log( index );
このようなプログラムを書いた場合、どうなるか想像してみましょう。1つ目の実行ログは +1 しているにも関わらず 0 が表示されませんか?
実行ログ
0
1
つまり、console.log() の行が実行された後に +1 されているのです。
では、次の例はいかがでしょう? 2行目を++index; に変えています。
index = 0;
console.log( ++index );
console.log( index );
実行ログ
1
1
いかがでしょう?今度は、ちゃんと+1されましたね。console.log() の行が処理される前に +1 されたことがわかると思います。
紛らわしいので個人的には、++演算子を使うときは行中に単体で使うことをおすすめします。
// console.logの処理前に +1 したい場合
index = 0;
index++;
console.log( index );
// console.logの処理後に +1 したい場合
index = 0;
console.log( index );
index++;
こうしておくと間違いが起こりにくです。
--演算子
--演算子も同様です。「index--」 とすると-1 します。使い方は ++ と一緒です。
今日のクイズ
number = 10;
number++;
console.log( --number );
console.log( number++ );
number--;
console.log( number );
実行ログには何が表示されるでしょう?
頭の中でシミュレーションしてみましょう!!
この記事が気に入ったらサポートをしてみませんか?