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/global_objects/symbol/for | |
| 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/global_objects/symbol/for')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/symbol/for/index.md | 112 |
1 files changed, 41 insertions, 71 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/for/index.md b/files/fr/web/javascript/reference/global_objects/symbol/for/index.md index 06bb734b9f..febba50125 100644 --- a/files/fr/web/javascript/reference/global_objects/symbol/for/index.md +++ b/files/fr/web/javascript/reference/global_objects/symbol/for/index.md @@ -10,56 +10,42 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/for original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/for --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>Symbol.for(clé)</strong></code> permet de chercher parmi les symboles existants enregistrés dans le registre global de l'environnement d'exécution. Si un symbole associé à la clé donnée existe, il est renvoyé par la fonction, sinon un nouveau symbole associé à cette clé est créé dans le registre.</p> +La méthode **`Symbol.for(clé)`** permet de chercher parmi les symboles existants enregistrés dans le registre global de l'environnement d'exécution. Si un symbole associé à la clé donnée existe, il est renvoyé par la fonction, sinon un nouveau symbole associé à cette clé est créé dans le registre. -<div>{{EmbedInteractiveExample("pages/js/symbol-for.html")}}</div> +{{EmbedInteractiveExample("pages/js/symbol-for.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>Symbol.for(clé)</var>;</pre> + Symbol.for(clé); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt>clé</dt> - <dd>Une chaîne de caractères, obligatoire. La clé correspondant au symbole (également utilisée pour la description du symbole).</dd> -</dl> +- clé + - : Une chaîne de caractères, obligatoire. La clé correspondant au symbole (également utilisée pour la description du symbole). -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un symbole existant s'il en a été trouvé un avec la clé fournie. Sinon, un nouveau symbole est créé puis renvoyé par la méthode.</p> +Un symbole existant s'il en a été trouvé un avec la clé fournie. Sinon, un nouveau symbole est créé puis renvoyé par la méthode. -<h2 id="Description">Description</h2> +## Description -<p>À la différence de <code>Symbol()</code>, la méthode <code>Symbol.for()</code> crée un symbole enregistré dans le registre global. <code>Symbol.for()</code> ne crée pas nécessairement un nouveau symbole pour chaque appel, elle vérifie d'abord si un symbole avec la <code>clé</code> donnée est d'ores et déjà présent dans le registre. Si c'est le cas, le symbole correspondant est renvoyé, sinon <code>Symbol.for()</code> crée un nouveau symbol global.</p> +À la différence de `Symbol()`, la méthode `Symbol.for()` crée un symbole enregistré dans le registre global. `Symbol.for()` ne crée pas nécessairement un nouveau symbole pour chaque appel, elle vérifie d'abord si un symbole avec la `clé` donnée est d'ores et déjà présent dans le registre. Si c'est le cas, le symbole correspondant est renvoyé, sinon `Symbol.for()` crée un nouveau symbol global. -<h3 id="Registre_global_pour_les_symboles">Registre global pour les symboles</h3> +### Registre global pour les symboles -<p>Le registre global des symboles est une liste, initialement vide, dont les éléments ont la structure suivante :</p> +Le registre global des symboles est une liste, initialement vide, dont les éléments ont la structure suivante : -<table class="standard-table"> - <caption>Structure d'un enregistrement dans le registre global des symboles</caption> - <tbody> - <tr> - <th>Nom du champ</th> - <th>Valeur</th> - </tr> - <tr> - <td>[[key]]</td> - <td>Une chaîne de caractères représentant la clé pour identifier un symbole en particulier.</td> - </tr> - <tr> - <td>[[symbol]]</td> - <td>Un symbole enregistré de façon globale.</td> - </tr> - </tbody> -</table> +| Nom du champ | Valeur | +| ------------ | --------------------------------------------------------------------------------------- | +| [[key]] | Une chaîne de caractères représentant la clé pour identifier un symbole en particulier. | +| [[symbol]] | Un symbole enregistré de façon globale. | -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">Symbol.for("toto"); // crée un nouveau symbole global +```js +Symbol.for("toto"); // crée un nouveau symbole global Symbol.for("toto"); // renvoie le symbole déjà existant // Globalement on a un symbole par clé, localement non @@ -69,42 +55,26 @@ Symbol("machin") === Symbol("machin"); // false // La clé sert également de description var sym = Symbol.for("mario"); sym.toString(); // "Symbol(mario)" -</pre> +``` -<p>Afin d'éviter des conflits entre les clés des symboles globaux liés à votre application et les autres symboles potentiels (bibliothèques externes, etc...), il peut être judicieux de les préfixer :</p> +Afin d'éviter des conflits entre les clés des symboles globaux liés à votre application et les autres symboles potentiels (bibliothèques externes, etc...), il peut être judicieux de les préfixer : -<pre class="brush: js">Symbol.for("mdn.toto"); +```js +Symbol.for("mdn.toto"); Symbol.for("mdn.machin"); -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-symbol.for', 'Symbol.for')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-symbol.for', 'Symbol.for')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Symbol.for")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Symbol.keyFor()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-symbol.for', 'Symbol.for')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-symbol.for', 'Symbol.for')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Symbol.for")}} + +## Voir aussi + +- {{jsxref("Symbol.keyFor()")}} |
