continue

Ignore le reste du tour de boucle actuel et passe immédiatement au suivant.

Sur cette page

Exemple

#
JavaScript
const students = [
  { name: 'Léa', paid: true },
  { name: 'Lucas', paid: false },
  { name: 'Emma', paid: true }
]

for (const student of students) {
  if (!student.paid) continue
  console.log(`Accès pour : ${student.name}`)
}
Console
Accès pour : Léa
Accès pour : Emma

Définition et utilisation

#

L’instruction continue termine seulement le tour de boucle actuel. Le code situé après elle est ignoré, et la boucle passe à l’itération suivante. Dans for, l’étape, par ex. i++, s’exécute d’abord encore, et dans while et do...while, la condition est vérifiée immédiatement.

Elle permet d’écarter les éléments qui ne correspondent pas dès le début de la boucle, au lieu d’enfermer tout le reste du code dans un grand if. C’est la même idée qu’un return anticipé dans une fonction.

Comme break, elle ne fonctionne que dans les boucles, et avec une étiquette (continue outer), elle passe au tour suivant de la boucle externe. Dans un callback forEach(), son équivalent est return.

Syntaxe

#
Syntaxe
continue
continue label

Plus d’exemples

#
Nombres impairs dans une boucle for
JavaScript
const odd = []

for (let i = 1; i <= 10; i++) {
  if (i % 2 === 0) continue
  odd.push(i)
}

console.log(odd)
Console
[1, 3, 5, 7, 9]
continue dans une boucle while
JavaScript
let i = 0
const kept = []

while (i < 5) {
  i++
  if (i === 3) continue
  kept.push(i)
}

console.log(kept)
Console
[1, 2, 4, 5]

Nous incrémentons le compteur avant continue. Si i++ était à la fin de la boucle, continue le sauterait et la boucle ne se terminerait jamais.

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

#
  • Dans while, modifiez le compteur avant continue, sinon la boucle peut tourner indéfiniment.
  • Si toute la boucle ne sert qu’à choisir des éléments, filter() l’exprimera plus brièvement : students.filter((student) => student.paid).

Entrées associées

#

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