Boucles imbriquées et portée des variables en JavaScript
Si nous avons une boucle dans une boucle, les variables,
déclarées dans la boucle externe, seront accessibles
dans la boucle interne. Dans l'exemple suivant, la variable
num est accessible dans la boucle interne :
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
console.log(num); // affichera 3
}
}
Mais en dehors de la boucle externe, la variable num
est inaccessible :
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
}
}
console.log(num); // générera une erreur
Les variables, déclarées dans la boucle interne, sont inaccessibles de l'extérieur :
for (let i = 0; i <= 9; i++) {
for (let j = 0; j <= 9; j++) {
let num = 3;
}
console.log(num); // générera une erreur
}
console.log(num); // générera une erreur