| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/break | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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.
let i = 0;
while (i < 6) {
if (i === 3) {
break;
}
i = i + 1;
}
console.log(i);
// Expected output: 3
break [label];
label FacultatifUn 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.
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.
breakLa 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.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3) {
break;
}
i += 1;
}
return i * x;
}
break avec les labelsDans 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.
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 :
bloc_1: {
console.log ('1');
break bloc_2; // SyntaxError: label not found
}
bloc_2: {
console.log ('2');
}
break dans des fonctions imbriques dans des bouclesDans le cas d'une fonction imbrique dans une boucle while :
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 :
bloc_1: {
console.log('1');
(function() {
break bloc_1; // SyntaxError: Undefined label 'bloc_1'
})();
}
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-break-statement |
Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |