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/errors/invalid_const_assignment | |
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/errors/invalid_const_assignment')
-rw-r--r-- | files/fr/web/javascript/reference/errors/invalid_const_assignment/index.md | 91 |
1 files changed, 49 insertions, 42 deletions
diff --git a/files/fr/web/javascript/reference/errors/invalid_const_assignment/index.md b/files/fr/web/javascript/reference/errors/invalid_const_assignment/index.md index 76219c8d9f..8205bb266e 100644 --- a/files/fr/web/javascript/reference/errors/invalid_const_assignment/index.md +++ b/files/fr/web/javascript/reference/errors/invalid_const_assignment/index.md @@ -8,84 +8,91 @@ tags: translation_of: Web/JavaScript/Reference/Errors/Invalid_const_assignment original_slug: Web/JavaScript/Reference/Erreurs/Invalid_const_assignment --- -<div>{{jsSidebar("Errors")}}</div> +{{jsSidebar("Errors")}} -<h2 id="Message">Message</h2> +## Message -<pre class="syntaxbox">TypeError: invalid assignment to const "x" (Firefox) -TypeError: Assignment to constant variable. (Chrome) -TypeError: Redeclaration of const 'x' (Edge) -</pre> + TypeError: invalid assignment to const "x" (Firefox) + TypeError: Assignment to constant variable. (Chrome) + TypeError: Redeclaration of const 'x' (Edge) -<h2 id="Type_d'erreur">Type d'erreur</h2> +## Type d'erreur -<p>{{jsxref("TypeError")}}</p> +{{jsxref("TypeError")}} -<h2 id="Quel_est_le_problème">Quel est le problème ?</h2> +## Quel est le problème ? -<p>Une constante est une valeur qui ne peut pas être modifiée lors de l'exécution du programme. Elle ne peut pas être modifiée grâce à une réaffectation ou grâce à une redéclaration. En JavaScript, les constantes sont déclarées grâce au mot-clé <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/const">const</a></code>.</p> +Une constante est une valeur qui ne peut pas être modifiée lors de l'exécution du programme. Elle ne peut pas être modifiée grâce à une réaffectation ou grâce à une redéclaration. En JavaScript, les constantes sont déclarées grâce au mot-clé [`const`](/fr/docs/Web/JavaScript/Reference/Instructions/const). -<h2 id="Exemples">Exemples</h2> +## Exemples -<h3 id="Redéclaration_invalide">Redéclaration invalide</h3> +### Redéclaration invalide -<p>Si on affecte une valeur à une constante dans la même portée de bloc que celui qui contient l'affectation initiale, une exception sera levée :</p> +Si on affecte une valeur à une constante dans la même portée de bloc que celui qui contient l'affectation initiale, une exception sera levée : -<pre class="brush: js example-bad">const COLUMNS = 80; +```js example-bad +const COLUMNS = 80; // ... -COLUMNS = 120; // TypeError: invalid assignment to const `COLUMNS'</pre> +COLUMNS = 120; // TypeError: invalid assignment to const `COLUMNS' +``` -<h3 id="Résoudre_le_problème">Résoudre le problème</h3> +### Résoudre le problème -<p>Il existe plusieurs façons de résoudre ce problème et il faut au préalable comprendre le rôle de la constante en question.</p> +Il existe plusieurs façons de résoudre ce problème et il faut au préalable comprendre le rôle de la constante en question. -<h4 id="Utiliser_un_autre_nom">Utiliser un autre nom</h4> +#### Utiliser un autre nom -<p>Si on souhaite déclarer une autre constante, on peut utiliser un autre nom que celui qui est déjà pris dans cette portée :</p> +Si on souhaite déclarer une autre constante, on peut utiliser un autre nom que celui qui est déjà pris dans cette portée : -<pre class="brush: js example-good">const COLUMNS = 80; -const WIDE_COLUMNS = 120;</pre> +```js example-good +const COLUMNS = 80; +const WIDE_COLUMNS = 120; +``` -<h4 id="const_let_ou_var"><code>const</code>, <code>let</code> ou <code>var</code> ?</h4> +#### `const`, `let` ou `var` ? -<p><code>const</code> ne doit pas être utilisé si on ne souhaite pas déclarer de constante. Peut-être qu'on souhaite simplement déclarer une variable avec une portée de bloc grâce à <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/let">let</a></code> ou une variable globale avec <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/var">var</a></code>.</p> +`const` ne doit pas être utilisé si on ne souhaite pas déclarer de constante. Peut-être qu'on souhaite simplement déclarer une variable avec une portée de bloc grâce à [`let`](/fr/docs/Web/JavaScript/Reference/Instructions/let) ou une variable globale avec [`var`](/fr/docs/Web/JavaScript/Reference/Instructions/var). -<pre class="brush: js example-good">let columns = 80; +```js example-good +let columns = 80; // ... let columns = 120; -</pre> +``` -<h4 id="Gérer_les_portées">Gérer les portées</h4> +#### Gérer les portées -<p>On peut également vérifier qu'on est dans la bonne portée. Est-ce que la constante devait apparaître dans la portée en question ou devait être utilisée dans une fonction ?</p> +On peut également vérifier qu'on est dans la bonne portée. Est-ce que la constante devait apparaître dans la portée en question ou devait être utilisée dans une fonction ? -<pre class="brush: js example-good">const COLUMNS = 80; +```js example-good +const COLUMNS = 80; function setupBigScreenEnvironment() { const COLUMNS = 120; -}</pre> +} +``` -<h3 id="const_et_l'immuabilité"><code>const</code> et l'immuabilité</h3> +### `const` et l'immuabilité -<p>La déclaration <code>const</code> crée une référence en lecture seule vers une valeur. Elle ne signifie pas que la valeur en question est immuable mais uniquement que l'identifiant de la référence ne peut pas recevoir de nouvelle valeur. Ainsi, si le contenu est un objet, celui-ci pourra toujours être modifié :</p> +La déclaration `const` crée une référence en lecture seule vers une valeur. Elle ne signifie pas que la valeur en question est immuable mais uniquement que l'identifiant de la référence ne peut pas recevoir de nouvelle valeur. Ainsi, si le contenu est un objet, celui-ci pourra toujours être modifié : -<pre class="brush: js example-bad">const obj = {toto: 'truc'}; +```js example-bad +const obj = {toto: 'truc'}; obj = {toto: 'bidule'}; // TypeError: invalid assignment to const `obj' -</pre> +``` -<p>En revanche, on peut modifier les propriétés :</p> +En revanche, on peut modifier les propriétés : -<pre class="brush: js example-good">obj.toto = 'bidule'; -obj; // Object { toto: "bidule" }</pre> +```js example-good +obj.toto = 'bidule'; +obj; // Object { toto: "bidule" } +``` -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li><code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/const">const</a></code></li> - <li><code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/let">let</a></code></li> - <li><code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/var">var</a></code></li> -</ul> +- [`const`](/fr/docs/Web/JavaScript/Reference/Instructions/const) +- [`let`](/fr/docs/Web/JavaScript/Reference/Instructions/let) +- [`var`](/fr/docs/Web/JavaScript/Reference/Instructions/var) |