[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/break [Back]  [Original]

break - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

break

Baseline Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

L'instruction break permet de terminer la boucle en cours ou l'instruction switch ou label en cours et de passer le contrle du programme l'instruction suivant l'instruction termine.

Dans cet article

Exemple interactif

let i = 0;

while (i < 6) {
  if (i === 3) {
    break;
  }
  i = i + 1;
}

console.log(i);
// Expected output: 3

Syntaxe

js
break [label];
label Facultatif

Un identifiant optionnel associ avec l'tiquette (label) de l'instruction. Si l'instruction terminer n'est pas une boucle ou une instruction switch, ce paramtre est ncessaire.

Description

L'instruction break peut tre utilise avec une tiquette (label) optionnelle qui permet d'interrompre une instruction tiquete. L'instruction break doit tre imbrique au sein de l'instruction rfrence. L'instruction tiquete peut correspondre n'importe quel instruction de bloc ; il n'est pas ncessaire qu'elle soit prcde par une instruction de boucle.

Une instruction break, suivie ou non d'une tiquette, ne peut pas tre utilise dans le corps d'une fonction appartenant elle-mme une boucle, une instruction Statements/switch ou une instruction label.

Exemples

Exemple simple utilisant break

La fonction qui suit utilise une instruction break qui interrompt la boucle while lorsque i vaut 3, grce l'instruction qui suit, la fonction renvoie 3 * x.

js
function testBreak(x) {
  var i = 0;

  while (i < 6) {
    if (i == 3) {
      break;
    }
    i += 1;
  }
  return i * x;
}

Utiliser break avec les labels

Dans le code suivant, on utilise les instructions break avec des blocs tiquets. Une instruction break doit tre prsente l'intrieur du bloc auquel elle fait rfrence. Ici, on voit que bloc_interne est compris dans bloc_externe.

js
bloc_externe: {
  bloc_interne: {
    console.log("1");
    break bloc_externe; // interrompt bloc_externe ET bloc_interne
    console.log(":-("); // ignor
  }

  console.log("2"); // ignor
}

Dans le code qui suit, on utilise galement des instructions break avec des blocs tiquets mais on obtient une exception SyntaxError car l'instruction break au sein de bloc_1 rfrence bloc_2, or bloc_1 n'est pas compris dans bloc_2 :

js
bloc_1: {
  console.log ('1');
  break bloc_2;  // SyntaxError: label not found
}

bloc_2: {
  console.log ('2');
}

Utiliser break dans des fonctions imbriques dans des boucles

Dans le cas d'une fonction imbrique dans une boucle while :

js
function testBreak(x){
  var i = 0;
  while (i < 6) {
    if (i === 3) {
      (function() {
        break;
      })();
    }
    i += 1;
  }
  return i * x;
}

testBreak(1); // SyntaxError: Illegal break statement

Dans le cas d'une fonction imbrique dans une instruction label :

js
bloc_1: {
  console.log('1');
  (function() {
    break bloc_1; // SyntaxError: Undefined label 'bloc_1'
  })();
}

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-break-statement

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page