I am learning event-loops JavaScript but i have found this unknown behavior of kaywords let and var using in event-loops code block. But they works fine when using them simple loops. Please help me in this regards. Code block is as follows:
for (let i = 0; i < 5; i++) {
setTimeout(() => {
console.log("let keyword output : ", i);
}, 0);
}
for (var i = 0; i < 5; i++) {
setTimeout(() => {
console.log("var keyword output : ", i);
}, 0);
}
Their output is as follow respectively:
let keyword output : 0
let keyword output : 1
let keyword output : 2
let keyword output : 3
let keyword output : 4
var keyword output : 5
var keyword output : 5
var keyword output : 5
var keyword output : 5
var keyword output : 5