À propos de ce tutoriel
Nous n'allons rien apprendre de nouveau aujourd'hui mais nous allons faire le point sur une notion importante : La portée des variables (scope en anglais).
Les variables ont une portée limitée et n'existent que dans le bloc où elles sont définies
if (true) {
let a = 3
}
console.log(a) // ERREUR, a is not defined
En revanche une variable peut être lue dans les blocs enfants du bloc courant
let a = 3
if (true) {
console.log(a) // 3
a = 5 // On modifie la variable du "scope" parent
}
console.log(a) // 5
On peut aussi avoir plusieurs variables de même nom avec des portées différentes
let a = 3
if (true) {
let a = 5 // On crée une nouvelle variable pour le "scope" courant
console.log(a) // 5
}
console.log(a) // 3
Même si cela fonctionne, on essaiera d'éviter de réutiliser le même nom de variable pour éviter les confusions.