Pages

let !== var

Nous allons au travers de la déclaration d'une boucle remarquer une différence fondamentale entre la définition d'une variable avec var et let.

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