4.5 Boucle Do...While
Voici le troisième type de boucle disponible en JavaScript : la boucle do...while. Elle est très similaire à la boucle while, mais avec une différence importante sur le moment où la condition est évaluée. Comme avec une boucle while, vous devez déclarer la variable de boucle à l'extérieur. Attention : si i est déjà déclarée dans la même portée, JavaScript renverra une erreur de redéclaration.
Syntaxe et différence clé
On écrit le mot-clé do suivi du bloc d'instructions, puis le mot-clé while avec la condition entre parenthèses et un point-virgule final. Les instructions du bloc do s'exécutent toujours au moins une fois, même si la condition est fausse dès le départ. C'est là la grande différence avec while, où la condition est évaluée avant la première exécution.
let i = 9;
do {
if (i % 2 !== 0) console.log(i);
i++;
} while (i <= 5);
Reprenons l'exemple. Avec une boucle while et i = 9, la condition i <= 5 est fausse au départ : la boucle ne s'exécute pas, la console reste vide. Avec une boucle do...while, le bloc s'exécute une fois quand même : on affiche 9 (qui est impair), i est incrémenté à 10, puis la condition est évaluée à la fin — elle est fausse, et la boucle se termine.
En résumé : la boucle while teste la condition au début de chaque itération, la boucle do...while la teste à la fin. En pratique, on utilise rarement do...while dans la programmation courante ; for et while couvrent la grande majorité des besoins. On se retrouve pour la prochaine vidéo.
En résumé
Cette leçon introduit la boucle do...while, le troisième type de boucle en JavaScript après for et while. La caractéristique clé est que le code du bloc s'exécute au moins une fois avant que la condition soit vérifiée, contrairement à la boucle while où la condition est évaluée au début. La vidéo illustre la différence avec des exemples concrets en code.
Points clés
- La boucle do...while s'exécute toujours au moins une fois, même si la condition est fausse au départ
- Syntaxe : do { instructions } while(condition);
- Difference clé : la condition est évaluée À LA FIN de chaque itération (contrairement à while qui l'évalue AU DÉBUT)
- Attention à la portée des variables : ne pas redéclarer une variable déjà existante dans une même portée
- La boucle do...while est moins utilisée en pratique que la boucle while en programmation réelle
Questions fréquentes
Quelle est la différence principale entre while et do...while ?
Dans une boucle while, la condition est vérifiée au début de chaque itération. Si la condition est fausse au départ, le code ne s'exécute jamais. Dans une boucle do...while, la condition est vérifiée à la fin, ce qui garantit que le code s'exécute au moins une fois, même si la condition est fausse dès le départ.
Si la condition est fausse au départ, que se passe-t-il avec do...while ?
Le bloc de code s'exécute une première fois, puis la condition est évaluée. Après cette première exécution, si la condition est fausse, la boucle s'arrête. C'est la différence fondamentale avec while qui ne s'exécuterait pas du tout.
Quand doit-on utiliser une boucle do...while ?
Bien que moins courante, la boucle do...while est utile quand on veut garantir au moins une exécution du code avant d'évaluer une condition, par exemple pour demander une saisie utilisateur et la valider.