お世話になっております。
基本的な質問かも知れませんが、次のコードで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();
});
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?