do...while

Exécute un bloc de code au moins une fois, puis le répète tant que la condition est vraie.

Sur cette page

Exemple

#
JavaScript
let attempts = 0

do {
  attempts++
  console.log(`Tentative ${attempts}`)
} while (attempts < 3)
Console
Tentative 1
Tentative 2
Tentative 3

Définition et utilisation

#

La boucle do...while fonctionne comme while, mais elle ne vérifie la condition qu’après avoir exécuté le bloc. Le code à l’intérieur s’exécute donc toujours au moins une fois, même si la condition est fausse dès le départ.

C’est un choix naturel quand il faut d’abord faire quelque chose, puis seulement évaluer le résultat : générer une valeur et vérifier qu’elle convient, interroger l’utilisateur et répéter la question en cas de mauvaise réponse, ou récupérer un premier lot de données.

Les variables déclarées avec let ou const à l’intérieur du bloc ne sont pas visibles dans la condition. Ce que vous vérifiez dans while (...) doit être déclaré avant la boucle.

Syntaxe

#
Syntaxe
do {
  // instructions
} while (condition)

Plus d’exemples

#
Le bloc s’exécute malgré une condition fausse
JavaScript
let lives = 0

do {
  console.log('Début de la partie, vies :', lives)
} while (lives > 0)

while (lives > 0) {
  console.log('Ceci ne s’affichera pas')
}
Console
Début de la partie, vies : 0
Recherche du premier code libre
JavaScript
const taken = ['A1', 'A2', 'A3']
let number = 0
let code

do {
  number++
  code = `A${number}`
} while (taken.includes(code))

console.log(code)
Console
A4

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

#
  • Déclarez la variable utilisée dans la condition avant do, car le bloc de la boucle a sa propre portée.
  • Vous rencontrerez do...while moins souvent que while ou for. Utilisez-le quand « au moins une fois » découle vraiment de la logique du programme.

Entrées associées

#

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