constを使って値が再代入できるのはなぜですか?

2021年2月26日
ユーザー
お世話になっております。 基本的な質問かも知れませんが、次のコードでsetTimeoutにより10ms後にcountUpの関数が実行されると、変数d、m、s、ms には新しく値が再代入される訳ではないのですか? 「constは値は再代入できない」と認識していたのですが..。 勿論、全て let に変更してみても、動作は同じでした。 let startTime; function countUp(){ const d = new Date(Date.now() - startTime); const m = String(d.getMinutes()).padStart(2,'0'); const s = String(d.getSeconds()).padStart(2,'0'); const ms = String(d.getMilliseconds()).padStart(3,'0'); timer.textContent = `${m}:${s}.${ms}`; setTimeout(countUp, 10); } start.addEventListener('click', () => { startTime = Date.now(); countUp(); });

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

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