i++ は何をしているのですか?

i の数値を 1 ずつ増やしています。
2021年5月5日
ユーザー

お世話になっております。i++の役割が今一つ理解できていないです。

1秒後ごとにsetTimeoutが処理をし、何回でタイマーを止めるかlet iが使われている。
let iを一番上で宣言しているのは、スコープの関係でshowTime();まで有効にさせているため。

【試してみたこと】

  • i++;を削除すると止まることなく動き続ける。
    i++は一体何を行っているのか。i++;をすることでなぜ3回でタイマーが止まるのか。

  • i++;ifの中に移動させても結果は同じ。
    →なぜifの上にi++は位置するのか

  let i = 0;

  function showTime() {
    console.log(new Date());
    const timeoutId = setTimeout(showTime, 1000);
    i++;
    if (i > 2) {
      clearTimeout(timeoutId);
    }
  }

  showTime();

for文で言うと、この部分を指していると考えてよろしいのでしょうか。

for (let i = 0; i <= 2; i++ ←ここ ;) { }

この回答を見るにはプレミアムサービスへの登録が必要です

プレミアムサービスとは?