++i と i++ の違い

JavaScriptにはインクリメント演算子 ++ があり、変数の値を1増やすことができます。インクリメント演算子には前置インクリメント演算子 ++i と後置インクリメント演算子 i++ の2つの形式があります。

前置インクリメント演算子 ++i は、変数の値を増やした後に式を評価し、変数の新しい値を返します。一方、後置インクリメント演算子 i++ は、式を評価した後に変数の値を増やし、式が評価される前の変数の値を返します。

例えば、以下のコードを考えてみましょう。

let i = 1;
console.log(++i); // 2
console.log(i++); // 2
console.log(i);   // 3

前置インクリメント演算子 ++i により、変数 i の値が1増えた後に console.log が呼び出され、結果として2が出力されます。一方、後置インクリメント演算子 i++ により、console.log が呼び出される前の変数 i の値が返されるため、結果として2が出力されますが、変数 i の値はまだ2のままです。その後、console.log(i) により変数 i の値が3に増え、結果として3が出力されます。

なお、前置デクリメント演算子 --i と後置デクリメント演算子 i-- の2つの形式もあります。これらは、変数の値を1減らす演算子です。