HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
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.
View in English Always switch to English
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 contrôle du programme à l'instruction suivant l'instruction terminée.
break
switch
label
let i = 0; while (i < 6) { if (i === 3) { break; } i = i + 1; } console.log(i); // Expected output: 3
break [label];
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 paramètre est nécessaire.
L'instruction break peut être utilisée avec une étiquette (label) optionnelle qui permet d'interrompre une instruction étiquetée. L'instruction break doit être imbriquée au sein de l'instruction référencée. L'instruction étiquetée peut correspondre à n'importe quel instruction de bloc ; il n'est pas nécessaire qu'elle soit précédée par une instruction de boucle.
Une instruction break, suivie ou non d'une étiquette, ne peut pas être utilisée dans le corps d'une fonction appartenant elle-même à une boucle, à une instruction Instructions/switch ou à une instruction label.
Instructions/switch
La fonction qui suit utilise une instruction break qui interrompt la boucle while lorsque i vaut 3, grâce à l'instruction qui suit, la fonction renvoie 3 * x.
while
i
x
function testBreak(x) { var i = 0; while (i < 6) { if (i == 3) { break; } i += 1; } return i * x; }
Dans le code suivant, on utilise les instructions break avec des blocs étiquetés. Une instruction break doit être présente à l'intérieur du bloc auquel elle fait référence. Ici, on voit que bloc_interne est compris dans bloc_externe.
bloc_interne
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 étiquetés mais on obtient une exception SyntaxError car l'instruction break au sein de bloc_1 référence bloc_2, or bloc_1 n'est pas compris dans bloc_2 :
SyntaxError
bloc_1
bloc_2
bloc_1: { console.log ('1'); break bloc_2; // SyntaxError: label not found } bloc_2: { console.log ('2'); }
Dans le cas d'une fonction imbriquée 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 imbriquée dans une instruction label :
bloc_1: { console.log('1'); (function() { break bloc_1; // SyntaxError: Undefined label 'bloc_1' })(); }
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
continue