continue

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

L'instruction continue arrête l'exécution des instructions pour l'itération de la boucle courante ou de la boucle étiquetée. L'exécution est reprise à l'itération suivante.

Exemple interactif

let text = "";

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

console.log(text);
// Expected output: "012456789"

Syntaxe

js
continue [label];
label

Paramètre optionnel. Un identifiant associé à l'étiquette (label) de l'instruction pour laquelle on souhaite finir l'itération en cours.

Description

Contrairement à break, continue ne termine pas la boucle complètement :

  • au sein d'une boucle while, elle repart à la phase de la condition.
  • au sein d'une boucle for, elle repart à l'expression de mise à jour de la boucle.

L'instruction continue peut éventuellement contenir une étiquette (label) qui permet de tirer parti des instructions de boucles étiquetées (plutôt que de ne traiter que la boucle courante). Dans le cas où l'étiquette est utilisée, il faut que l'instruction continue soit imbriquée dans l'instruction étiquetée.

Exemples

Utiliser continue avec while

L'instruction suivante illustre comment on peut utiliser continue au sein d'une boucle while, ici continue est utilisé lorsque i vaut 3. On a donc n qui prend les valeurs 1, 3, 7, et 12.

js
var i = 0;
var n = 0;
while (i < 5) {
  i++;
  if (i === 3) {
    continue;
  }
  n += i;
}

Utiliser continue avec une étiquette

Dans l'exemple suivant, on a une instruction étiquetée vérifIetJ qui contient une autre instruction étiquetée vérifJ. Si l'instruction continue est utilisée, le programme reprend l'exécution au début de l'instruction vérifJ. Chaque fois que continue utilisé, vérifJ réitère jusqu'à ce que sa condition renvoie false. Lorsque c'est le cas, le reste de l'instruction vérifIetJ est exécuté.

Si continue utilisait l'étiquette vérifIetJ, le programme continuerait au début de l'instruction vérifIetJ.

Voir aussi label.

js
var i = 0;
var j = 8;

vérifIetJ: while (i < 4) {
  console.log("i : " + i);
  i += 1;

  vérifJ: while (j > 4) {
    console.log("j : " + j);
    j -= 1;
    if (j % 2 == 0) {
      continue vérifJ;
    }
    console.log(j + " est impaire.");
  }
  console.log("i = " + i);
  console.log("j = " + j);
}

En utilisant le fragment ci-avant, on aura le résultat suivant :

js
"i : 0";

// début de vérifJ
"j : 8";
"7 est impair";
"j : 7";
"j : 6";
"5 est impair.";
"j : 5";
// fin de vérifJ

"i = 1";
"j = 4";

"i : 1";
"i = 2";
"j = 4";

"i : 2";
"i = 3";
"j = 4";

"i : 3";
"i = 4";
"j = 4";

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-continue-statement

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
continue

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi