Here the difference between let and var

var a = 2;

(function IIFE(global){
    var a =3
    console.log(a)//3
    console.log(global.a)//2
})(window);
console.log(a);//2

let a = 2;

(function IIFE(global){
    var a =3
    console.log(a)//3
    console.log(global.a)//undefine   undefined
})(window);
console.log(a);//2
Mar.09,2021

let const does not bind variables to window objects even if they are defined in the global environment.
you can find a basic book


properties of top-level objects

.
Menu