code1:
for (var i = 0; i < 5; i++) {
setTimeout(() => {
console.log(i) }, 0)
}
output: 5,5,5,5,5
code2:
for (let i = 0; i < 5; i++) {
setTimeout(() => {
console.log(i) }, 0)
}
output: 0,1,2,3,4
Can anyone help me to understand why the output of code1 is: 5,5,5,5,5
and code2's output is: 0,1,2,3,4