From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../javascript/reference/statements/break/index.md | 141 +++++++++------------ 1 file changed, 59 insertions(+), 82 deletions(-) (limited to 'files/fr/web/javascript/reference/statements/break') diff --git a/files/fr/web/javascript/reference/statements/break/index.md b/files/fr/web/javascript/reference/statements/break/index.md index 95e5144230..56826770a7 100644 --- a/files/fr/web/javascript/reference/statements/break/index.md +++ b/files/fr/web/javascript/reference/statements/break/index.md @@ -8,50 +8,51 @@ tags: translation_of: Web/JavaScript/Reference/Statements/break original_slug: Web/JavaScript/Reference/Instructions/break --- -
{{jsSidebar("Statements")}}
+{{jsSidebar("Statements")}} -

L'instruction break permet de terminer la boucle en cours ou l'instruction {{jsxref("Instructions/switch", "switch")}} ou {{jsxref("Instructions/label", "label")}} en cours et de passer le contrôle du programme à l'instruction suivant l'instruction terminée.

+L'instruction **`break`** permet de terminer la boucle en cours ou l'instruction {{jsxref("Instructions/switch", "switch")}} ou {{jsxref("Instructions/label", "label")}} en cours et de passer le contrôle du programme à l'instruction suivant l'instruction terminée. -
{{EmbedInteractiveExample("pages/js/statement-break.html")}}
+{{EmbedInteractiveExample("pages/js/statement-break.html")}} -

Syntaxe

+## Syntaxe -
break [label];
+ break [label]; -
-
label {{optional_inline}}
-
Un identifiant optionnel associé avec l'étiquette (label) de l'instruction. Si l'instruction à terminer n'est pas une boucle ou une instruction {{jsxref("Instructions/switch", "switch")}}, ce paramètre est nécessaire.
-
+- `label` {{optional_inline}} + - : Un identifiant optionnel associé avec l'étiquette (_label_) de l'instruction. Si l'instruction à terminer n'est pas une boucle ou une instruction {{jsxref("Instructions/switch", "switch")}}, ce paramètre est nécessaire. -

Description

+## Description -

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 {{jsxref("Instructions/bloc", "bloc","",1)}} ; il n'est pas nécessaire qu'elle soit précédée par une instruction de boucle.

+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 {{jsxref("Instructions/bloc", "bloc","",1)}} ; 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 {{jsxref("Instructions/switch")}} ou à une instruction label.

+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 {{jsxref("Instructions/switch")}} ou à une instruction `label`. -

Exemples

+## Exemples -

Exemple simple utilisant break

+### Exemple simple utilisant `break` -

La fonction qui suit utilise une instruction break qui interrompt la boucle {{jsxref("Instructions/while", "while")}} lorsque i vaut 3, grâce à l'instruction qui suit, la fonction renvoie 3 * x.

+La fonction qui suit utilise une instruction `break` qui interrompt la boucle {{jsxref("Instructions/while", "while")}} lorsque `i` vaut 3, grâce à l'instruction qui suit, la fonction renvoie 3 \* `x`. -
function testBreak(x) {
+```js
+function testBreak(x) {
    var i = 0;
 
-   while (i < 6) {
+   while (i < 6) {
       if (i == 3) {
          break;
       }
       i += 1;
    }
    return i * x;
-}
+} +``` -

Utiliser break avec les labels

+### Utiliser `break` avec les labels -

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.

+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_externe: {
+```js
+bloc_externe: {
 
   bloc_interne: {
     console.log ('1');
@@ -61,11 +62,12 @@ original_slug: Web/JavaScript/Reference/Instructions/break
 
   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 :

+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` : -
bloc_1: {
+```js
+bloc_1: {
   console.log ('1');
   break bloc_2;  // SyntaxError: label not found
 }
@@ -73,15 +75,16 @@ original_slug: Web/JavaScript/Reference/Instructions/break
 bloc_2: {
   console.log ('2');
 }
-
+``` -

Utiliser break dans des fonctions imbriquées dans des boucles

+### Utiliser `break` dans des fonctions imbriquées dans des boucles -

Dans le cas d'une fonction imbriquée dans une boucle while :

+Dans le cas d'une fonction imbriquée dans une boucle `while` : -
function testBreak(x){
+```js
+function testBreak(x){
   var i = 0;
-  while (i < 6) {
+  while (i < 6) {
     if (i === 3) {
       (function() {
         break;
@@ -92,62 +95,36 @@ bloc_2: {
   return i * x;
 }
 
-testBreak(1); // SyntaxError: Illegal break statement
+testBreak(1); // SyntaxError: Illegal break statement +``` -

Dans le cas d'une fonction imbriquée dans une instruction label :

+Dans le cas d'une fonction imbriquée dans une instruction `label` : -
bloc_1: {
+```js
+bloc_1: {
   console.log('1');
   (function() {
     break bloc_1; // SyntaxError: Undefined label 'bloc_1'
   })();
-}
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaires
{{SpecName('ES1')}}{{Spec2('ES1')}}Définition initiale. Version non étiquetée.
{{SpecName('ES3')}}{{Spec2('ES3')}}Version étiquetée ajoutée.
{{SpecName('ES5.1', '#sec-12.8', 'instruction break')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-break-statement', 'instruction break')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-break-statement', 'Break statement')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.statements.break")}}

- -

Voir aussi

- - +} +``` + +## Spécifications + +| Spécification | Statut | Commentaires | +| ---------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------- | +| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Définition initiale. Version non étiquetée. | +| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Version étiquetée ajoutée. | +| {{SpecName('ES5.1', '#sec-12.8', 'instruction break')}} | {{Spec2('ES5.1')}} |   | +| {{SpecName('ES6', '#sec-break-statement', 'instruction break')}} | {{Spec2('ES6')}} |   | +| {{SpecName('ESDraft', '#sec-break-statement', 'Break statement')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.statements.break")}} + +## Voir aussi + +- {{jsxref("Instructions/continue", "continue")}} +- {{jsxref("Instructions/label", "label")}} +- {{jsxref("Instructions/switch", "switch")}} -- cgit v1.2.3-54-g00ecf