前置と後置で結果が異なる

演算子の前置・後置を理解しないとバグを生んでしまうことがあります。
それは前置と後置で結果が異なる場合があるからです。

以下の問題を解くコードを考えてみてください。

問題 配列に1~9までの整数を代入した変数を作成し、配列内のそれぞれの数値に1を足したものをコンソールに出力してください。ただし、インクリメント演算子を使用し、1行で書いてください。

以下のコードの//insert code hereの場所にコードを記述してください。

let ary = [1,2,3,4,5,6,7,8,9]; 
for(let i = 0; i < ary.length; i++) {
    // insert code here
}

答え

let ary = [1,2,3,4,5,6,7,8,9]; 
for(let i = 0; i < ary.length; i++) {
    console.log(++ary[i]);
}

出力

2
3
4
5
6
7
8
9
10

console.log(++ary[i])の箇所をconsole.log(ary[i]++)に変えるとどうなるでしょうか。
出力としては1,2,3,4,5,6,7,8,9になり、表示では1足されていないことになります。

前置・後置を分かりやすくすると、以下のコードの省略形ということになります。

前置(++i)

ary[i] = ary[i] + 1;
console.log(ary[i]);

後置(i++)

console.log(ary[i]);
ary[i] = ary[i] + 1;

参考
前置と後置 - 演算子 - Java入門