diff options
| author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
|---|---|---|
| committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
| commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
| tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/statements/break | |
| parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
| download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip | |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/statements/break')
| -rw-r--r-- | files/fr/web/javascript/reference/statements/break/index.md | 141 |
1 files changed, 59 insertions, 82 deletions
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 --- -<div>{{jsSidebar("Statements")}}</div> +{{jsSidebar("Statements")}} -<p>L'instruction <strong><code>break</code></strong> 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.</p> +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. -<div>{{EmbedInteractiveExample("pages/js/statement-break.html")}}</div> +{{EmbedInteractiveExample("pages/js/statement-break.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><code>break [label];</code></pre> + break [label]; -<dl> - <dt><code>label</code> {{optional_inline}}</dt> - <dd>Un identifiant optionnel associé avec l'étiquette (<em>label</em>) 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.</dd> -</dl> +- `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. -<h2 id="Description">Description</h2> +## Description -<p>L'instruction <code>break</code> peut être utilisée avec une étiquette (<em>label</em>) optionnelle qui permet d'interrompre une instruction étiquetée. L'instruction <code>break</code> 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.</p> +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. -<p>Une instruction <code>break</code>, 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 <code>label</code>.</p> +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`. -<h2 id="Exemples">Exemples</h2> +## Exemples -<h3 id="Exemple_simple_utilisant_break">Exemple simple utilisant <code>break</code></h3> +### Exemple simple utilisant `break` -<p>La fonction qui suit utilise une instruction <code>break</code> qui interrompt la boucle {{jsxref("Instructions/while", "while")}} lorsque <code>i</code> vaut 3, grâce à l'instruction qui suit, la fonction renvoie 3 * <code>x</code>.</p> +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`. -<pre class="brush:js">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; -}</pre> +} +``` -<h3 id="Utiliser_break_avec_les_labels">Utiliser <code>break</code> avec les labels</h3> +### Utiliser `break` avec les labels -<p>Dans le code suivant, on utilise les instructions <code>break</code> avec des blocs étiquetés. Une instruction <code>break</code> doit être présente à l'intérieur du bloc auquel elle fait référence. Ici, on voit que <code>bloc_interne</code> est compris dans <code>bloc_externe</code>.</p> +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`. -<pre class="brush:js">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é } -</pre> +``` -<p>Dans le code qui suit, on utilise également des instructions <code>break</code> avec des blocs étiquetés mais on obtient une exception <code>SyntaxError</code> car l'instruction <code>break</code> au sein de <code>bloc_1</code> référence <code>bloc_2</code>, or <code>bloc_1</code> n'est pas compris dans <code>bloc_2</code> :</p> +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` : -<pre class="brush:js">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'); } -</pre> +``` -<h3 id="Utiliser_break_dans_des_fonctions_imbriquées_dans_des_boucles">Utiliser <code>break</code> dans des fonctions imbriquées dans des boucles</h3> +### Utiliser `break` dans des fonctions imbriquées dans des boucles -<p>Dans le cas d'une fonction imbriquée dans une boucle <code>while</code> :</p> +Dans le cas d'une fonction imbriquée dans une boucle `while` : -<pre class="brush: js">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</pre> +testBreak(1); // SyntaxError: Illegal break statement +``` -<p>Dans le cas d'une fonction imbriquée dans une instruction <code>label</code> :</p> +Dans le cas d'une fonction imbriquée dans une instruction `label` : -<pre class="brush: js">bloc_1: { +```js +bloc_1: { console.log('1'); (function() { break bloc_1; // SyntaxError: Undefined label 'bloc_1' })(); -}</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Définition initiale. Version non étiquetée.</td> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Version étiquetée ajoutée.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-12.8', 'instruction break')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-break-statement', 'instruction break')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-break-statement', 'Break statement')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.statements.break")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Instructions/continue", "continue")}}</li> - <li>{{jsxref("Instructions/label", "label")}}</li> - <li>{{jsxref("Instructions/switch", "switch")}}</li> -</ul> +} +``` + +## 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")}} |
