let
Problématique du mot clé var
function getNomCompletAvecVar(sexe) {
if(sexe == 'M') {
var nomComplet = 'Robert';
}
console.log(nomComplet); // affiche Robert
}
getNomCompletAvecVar('M');
En javascript, il y a le concept de hoisting (remontée) qui déclare la variable en début de fonction.
La portée d'une variable déclarée avec var est la fonction et non le bloc de code.
Mot clé let
L'accès à une variable peut désormais être restreint à son bloc grace au mot clé
let.leta été pensé pour remplacer définitivementvarà long terme.
function getNomCompletAvecLet(sexe) {
if(sexe == 'M') {
let nomComplet = 'Robert';
}
console.log(nomComplet); // Uncaught ReferenceError: nomComplet is not defined
}