Le problème de l'optionalité des accolades dans les boucles en JavaScript
Bien qu'il soit possible d'omettre les accolades dans les boucles, je le déconseille vivement, car un tel code conduit souvent à des erreurs.
Regardons un exemple. Supposons que nous ayons le code suivant :
for (let i = 0; i <= 9; i++)
console.log(i); // affichera les nombres de 0 à 9
Je vais apporter une petite modification au code ci-dessus (trouvez laquelle) - et il cessera de fonctionner :
for (let i = 0; i <= 9; i++);
console.log(i); // affichera une erreur
Alors, qu'est-ce que j'ai modifié ?
Le problème est survenu parce que j'ai mis
un point-virgule après la parenthèse ) de
la boucle. Dans ce cas, on obtient ce qu'on appelle
une boucle sans corps : elle va simplement tourner
à l'intérieur, et la ligne suivante ne lui sera
plus rattachée. Par conséquent, pour éviter les problèmes,
je recommande toujours de mettre des accolades
dans les boucles.
Dites quel sera le résultat de l'exécution du code suivant :
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);