JavaScript - 「変数--」と「--変数」の違い

--演算子」はデクリメント演算子と呼ばれ、 「変数--」 や「--変数」という形式で記述されます。

どちらも変数の値を減少させるのは同じなのですが、 他の変数に代入する場合は結果が違ってきます。

ここでは「変数--」 と「--変数」の違いについて説明します。

--演算子」の働き

次のサンプルプログラムからわかるように、 「変数--」も 「--変数」もどちらも変数の値を1 減少させます。

つまり、「変数 = 変数 - 1」と同じです。


var i = 0;

i--;
console.log(i); // -1

--i;
console.log(i); // -2

「変数--」と「--変数」の違い

他の変数に代入する場合は、 減算するタイミングが異なるので注意が必要です。

「変数--」(後置デクリメント演算子)の場合

まずは「変数--」の場合を見てみます。


var i = 0, k = 0;

k = i--;
console.log(i); // -1
console.log(k); // 0

「変数--」の場合、i の値を k に代入した後に、i の値が減算されます。

ですから、i の値が -1、k の値が 0 となります。

「i--」のように、被演算子(変数)の後にあるデクリメント演算子を 「後置デクリメント演算子」と言います。

--変数」(前置デクリメント演算子)の場合

次に「--変数」の場合を見てみます。


var i = 0, k = 0;

k = --i;
console.log(i); // -1
console.log(k); // -1

--変数」の場合、i の値を減算した後に、k に代入されます。

ですから、i の値が -1、k の値も -1 となります。

--i」のように、被演算子(変数)の前にあるデクリメント演算子を 「前置デクリメント演算子」と言います。

まとめ

・「変数--」も「--変数」もどちらも変数の値を 1 減算します。

・他の変数に代入する場合は、減算のタイミングが違うので注意が必要です。

スポンサードサーチ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする