var vs let in Loop + setTimeout

Visualisasi event loop memproses callback

Speed Normal
Klik Step untuk mulai
var

Function Scope

for (var i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 0);
}
empty
empty
let

Block Scope

for (let i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 0);
}
empty
empty