お世話になっております。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++ ←ここ ;) { }
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?