JavaScript: インクリメント演算子「i++」と「++i」の違い
「++演算子」はインクリメント演算子とも言われ、単項算術演算子の1つです。
もうひとつは「--演算子」があり、デクリメント演算子と言われます。
「i++」と「++i」の違い
まずは「++演算子」から見ていきます。
「i++」も「++i」もどちらも1を加算します。
つまり「i = i + 1」と同じです。
var i = 1; var k = i++; console.log(i); // 2 console.log(k); // 1 var i = 1; var k = ++i; console.log(i); // 2 console.log(k); // 2
上のコードが「i++」下が「++i」です。
「i++」では変数kに代入した後に加算しています。ですからkの値は「1」となります。
「++i」では加算した後に変数kに代入しています。ですからkの値は「2」となります。
このようにインクリメント演算子を使う時に、同時に変数に代入する場合は注意が必要です。
「i--」と「--i」の違い
次は「--演算子」です。
「i--」も「--i」もどちらも1を減算します。
つまり「i = i - 1」と同じです。
var i = 1; var k = i--; console.log(i); // 0 console.log(k); // 1 var i = 1; var k = --i; console.log(i); // 0 console.log(k); // 0
「i--」では変数kに代入した後に減算しています。ですからkの値は「1」となります。
「--i」では減算した後に変数kに代入しています。ですからkの値は「0」となります。
デクリメント演算子を使う時も、同時に変数に代入する場合は注意が必要です。