4.4 Boucle While
Dans la vidéo précédente, nous avons utilisé une boucle for pour afficher les nombres impairs entre 0 et 5. Voyons maintenant comment réécrire cette logique avec une boucle while. La différence clé entre les deux : dans une boucle for, la variable de boucle est déclarée à l'intérieur de l'en-tête. Dans une boucle while, vous devez la déclarer en externe, avant la boucle.
Construction d'une boucle while
On commence par déclarer une variable i initialisée à 0. Notez que ce i est différent du i qu'on avait dans la boucle for : ce dernier n'est accessible qu'à l'intérieur du for. C'est ce qu'on appelle la portée (scope) — un concept abordé plus loin dans le cours. Pour l'instant, retenez juste que les deux variables sont distinctes, même si leur nom est identique. Ensuite, on écrit l'instruction while suivie d'une condition entre parenthèses : tant que i est inférieur ou égal à 5, on exécute le bloc. À l'intérieur, on affiche les nombres impairs et on incrémente i.
let i = 0;
while (i <= 5) {
if (i % 2 !== 0) console.log(i);
i++;
}
Voici ce qui se passe à l'exécution : initialement i vaut 0. La condition est évaluée en début de chaque itération ; si elle est vraie, le corps de la boucle est exécuté, puis l'incrément a lieu. À l'itération suivante, la condition est réévaluée. Dès qu'elle devient fausse, la boucle se termine. C'est une traduction directe de la boucle for équivalente. On se retrouve dans la prochaine vidéo pour examiner un autre type de boucle.
En résumé
Cette leçon explique la boucle while en JavaScript et sa différence fondamentale avec la boucle for. Contrairement à la boucle for où la variable de boucle est déclarée à l'intérieur, la boucle while exige que la variable soit déclarée en externe avant la boucle. La leçon présente un exemple complet : initialisation de la variable, évaluation de la condition à chaque itération, exécution du corps de la boucle, et incrémentation manuelle de la variable.
Points clés
- La variable de boucle dans une boucle while doit être déclarée en externe avant la boucle commence
- La condition de la boucle while est évaluée avant chaque itération et le corps s'exécute si elle est vraie
- Contrairement à la boucle for, vous devez incrémenter manuellement la variable à la fin du bloc while
- La portée de la variable en boucle for est limitée à la boucle, tandis qu'en boucle while elle est accessible à l'extérieur
- La boucle while se termine dès que la condition devient fausse
Questions fréquentes
Quelle est la différence principale entre une boucle while et une boucle for?
La différence clé réside dans la déclaration de la variable de boucle : en boucle for, elle est déclarée à l'intérieur de la boucle, tandis qu'en boucle while, elle doit être déclarée en externe avant la boucle. Cela affecte également la portée de la variable.
Comment fonctionne l'exécution d'une boucle while?
La condition est d'abord évaluée; si elle est vraie, le corps de la boucle s'exécute. À chaque itération, la condition est réévaluée, et si elle reste vraie, les instructions s'exécutent à nouveau. La boucle s'arrête quand la condition devient fausse.
Pourquoi est-il nécessaire d'incrémenter la variable dans une boucle while?
L'incrémentation est essentielle pour modifier la variable à chaque itération, sinon la condition ne changerait jamais et la boucle bouclerait infiniment. C'est une responsabilité du programmeur, contrairement à la boucle for où cela est automatisé.