var permet le Hoisting et let a une portée par bloc {}.
code
On déclare un tableau, qui contient une fonction anonyme (sans nom) renvoyant la valeur d'une variable.
var arr = [],
i = 0;
arr.push(() => i); // équivalent à arr.push(function(){return i});
console.log( arr[0]() ) // exécution de la fonction anonyme
Cas de la boucle
Étudiez ce code