while

Répète un bloc de code tant que la condition est vraie. La condition est vérifiée avant chaque tour.

Sur cette page

Exemple

#
JavaScript
let fuel = 10
let trips = 0

while (fuel >= 3) {
  fuel -= 3
  trips++
}

console.log(`Trajets : ${trips}, carburant restant : ${fuel}`)
Console
Trajets : 3, carburant restant : 1

Définition et utilisation

#

La boucle while vérifie une condition, et si elle est vraie, exécute le bloc puis revient à la vérification. Quand la condition est fausse dès le départ, le bloc ne s’exécute pas du tout.

Elle est utile quand vous ne savez pas à l’avance combien de répétitions il y aura : vous attendez qu’un résultat dépasse un seuil, vous traitez une file jusqu’à ce qu’elle soit vide, ou vous cherchez quelque chose jusqu’à le trouver. Quand le nombre de tours est connu, for est généralement plus pratique.

À l’intérieur de la boucle, quelque chose doit finir par rendre la condition fausse. Sans cela, la boucle tournera indéfiniment et bloquera la page. En urgence, vous pouvez l’interrompre avec break.

Syntaxe

#
Syntaxe
while (condition) {
  // instructions
}

Plus d’exemples

#
Traitement d’une file
JavaScript
const queue = ['Tâche 1', 'Tâche 2', 'Tâche 3']

while (queue.length > 0) {
  const task = queue.shift()
  console.log(`Vérification de : ${task}`)
}

console.log(queue)
Console
Vérification de : Tâche 1
Vérification de : Tâche 2
Vérification de : Tâche 3
[]
Un nombre inconnu de répétitions
JavaScript
let points = 5
let rounds = 0

while (points < 100) {
  points *= 2
  rounds++
}

console.log(points, rounds)
Console
160 5

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Avant de lancer la boucle, assurez-vous que la variable de la condition change à chaque tour. Une boucle infinie bloque l’onglet du navigateur.
  • Si le bloc doit s’exécuter au moins une fois, par ex. pour demander des données à l’utilisateur, utilisez do...while.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.