【JavaScript】インクリメント(++) / デクリメント(–) - 変数の値を1変化させる
JavaScriptのインクリメントとデクリメントについて解説します。
検証環境
インクリメント
インクリメントは“変数(数値型)の値を1加算する演算”です。
演算子(加算子)は++
で表し、前置加算子と後置加算子の2つの使い方があります。
この2つの違いはインクリメントの実行タイミングです。
前置加算子
前置加算子は“変数の値を『1加算』した後に『値の参照』を行います。”
基本構文
++変数
サンプル
let num = 10;
___ih_hl_start
let result = ++num;
___ih_hl_end
console.log('[ num ] : ' + num);
console.log('[ result ] : ' + result);
[ num ] : 11
[ result ] : 11
3行目の++num
がインクリメント(前置加算子)です。
3行目は最初に変数num
の値を1
加算し、変数num
の値が11
になります。
その後、変数num
の値(11
)を参照し、変数result
に代入します。
実行結果から各変数の値は11
であることが分かります。
後置加算子
後置加算子は“変数の『値を参照』した後に『1加算』します。”
基本構文
変数++
サンプル
let num = 10;
___ih_hl_start
let result = num++;
___ih_hl_end
console.log('[ num ] : ' + num);
console.log('[ result ] : ' + result);
[ num ] : 11
[ result ] : 10
3行目のnum++
がインクリメント(後置加算子)です。
3行目は最初に変数num
の値(10
)を参照し、変数result
に代入します。
その後、変数num
の値を1加算し、変数num
の値が11
になります。
実行結果からも変数result
の値は変数num
をインクリメントする前の値であることが分かります。
このように前置と後置は変数の値をインクリメントするタイミングが異なり、“前置は値を参照する前、後置は値を参照した後”にインクリメントを実行します。
デクリメント
デクリメントは“変数(数値型)の値を1減算する演算”です。
演算子(減算子)は--
で表し、前置減算子と後置減算子の2つの使い方があります。
この2つの違いはデクリメントの実行タイミングです。
前置減算子
前置減算子は“変数の値を『1減算』した後に『値の参照』を行います。”
基本構文
--変数
サンプル
let num = 10;
___ih_hl_start
let result = --num;
___ih_hl_end
console.log('[ num ] : ' + num);
console.log('[ result ] : ' + result);
[ num ] : 9
[ result ] : 9
3行目の--num
がデクリメント(前置減算子)です。
3行目は最初に変数num
の値を1
減算し、変数num
の値が9
になります。
その後、変数num
の値(9
)を参照し、変数result
に代入します。
実行結果から各変数の値は9
であることが分かります。
後置減算子
後置減算子は“変数の『値を参照』した後に『1減算』します。”
基本構文
変数--
サンプル
let num = 10;
___ih_hl_start
let result = num--;
___ih_hl_end
console.log('[ num ] : ' + num);
console.log('[ result ] : ' + result);
[ num ] : 9
[ result ] : 10
3行目のnum--
がデクリメント(後置減算子)です。
3行目は最初に変数num
の値(10
)を参照し、変数result
に代入します。
その後、変数num
の値を1減算し、変数num
の値が9
になります。
実行結果からも変数result
の値は変数num
をデクリメントする前の値であることが分かります。
このように前置と後置は変数の値をデクリメントするタイミングが異なり、“前置は値を参照する前、後置は値を参照した後”にデクリメントを実行します。
処理早見表
前置加算子、後置加算子、前置減算子、後置減算子の処理早見表を用意しましたのでご活用ください。
演算 | 演算子 | 加減算 | 参照 |
---|---|---|---|
前置加算子 | ++変数 |
先 | 後 |
後置加算子 | 変数++ |
後 | 先 |
前置減算子 | --変数 |
先 | 後 |
後置減算子 | 変数-- |
後 | 先 |