私はletが最も近い囲みブロックにスコープされていることを知っています。まだ与えられたコードがそれほど異なって出力される理由を理解できません。var vs forループのjavascript
for (let i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, 1000)
}
// 0,1,2,3,4
for (var i = 0; i < 5; i++) {
setTimeout(function() {
console.log(i)
}, 1000)
}
// 5,5,5,5,5
ます。https://開発者を。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let – epascarello
アップグレートの説明を読んでください。これは重複していますが、OPがもう少し検索していたはずですが、この質問タイトル、質問体、およびtymeJVの答えが偽装よりも明確になっています。 – labyrinth