aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/global_objects/symbol
diff options
context:
space:
mode:
authorjulieng <julien.gattelier@gmail.com>2021-08-03 08:03:23 +0200
committerSphinxKnight <SphinxKnight@users.noreply.github.com>2021-09-03 08:08:25 +0200
commitbf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch)
treec101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/symbol
parent844f5103992238c0c23203286dad16a466e89c97 (diff)
downloadtranslated-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')
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/@@toprimitive/index.md54
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/asynciterator/index.md60
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/description/index.md56
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/for/index.md112
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/hasinstance/index.md55
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/index.md271
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.md100
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/iterator/index.md118
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/keyfor/index.md76
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/match/index.md84
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/matchall/index.md59
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/replace/index.md53
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/search/index.md53
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/species/index.md63
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/split/index.md53
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/toprimitive/index.md64
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/tosource/index.md58
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/tostring/index.md80
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/tostringtag/index.md87
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/unscopables/index.md82
-rw-r--r--files/fr/web/javascript/reference/global_objects/symbol/valueof/index.md54
21 files changed, 665 insertions, 1027 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/@@toprimitive/index.md b/files/fr/web/javascript/reference/global_objects/symbol/@@toprimitive/index.md
index 601aaceead..28b41fe086 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/@@toprimitive/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/@@toprimitive/index.md
@@ -11,53 +11,35 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/@@toPrimitive
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/@@toPrimitive
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>La méthode <code><strong>[@@toPrimitive]()</strong></code> permet de convertir un objet symbole en une valeur primitive.</p>
+La méthode **`[@@toPrimitive]()`** permet de convertir un objet symbole en une valeur primitive.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox"><var>Symbol()[Symbol.toPrimitive](hint);
-</var></pre>
+ Symbol()[Symbol.toPrimitive](hint);
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>La valeur primitive de l'objet {{jsxref("Symbol")}} indiqué.</p>
+La valeur primitive de l'objet {{jsxref("Symbol")}} indiqué.
-<h2 id="Description">Description</h2>
+## Description
-<p>La méthode <code>[@@toPrimitive]()</code> de {{jsxref("Symbol")}} renvoie la valeur primitive d'un objet <code>Symbol</code> (le résultat sera  donc un symbole au sens primitif). L'argument <code>hint</code> n'est pas utilisé.</p>
+La méthode `[@@toPrimitive]()` de {{jsxref("Symbol")}} renvoie la valeur primitive d'un objet `Symbol` (le résultat sera  donc un symbole au sens primitif). L'argument `hint` n'est pas utilisé.
-<p>Le moteur JavaScript appelle la méthode <code>[@@toPrimitive]()</code> afin de convertir un objet en une valeur primitive. Généralement, il n'est pas nécessaire d'appeler <code>[@@toPrimitive]()</code> car le moteur JavaScript l'appelle automatiquement lorsqu'il détecte un objet là où une valeur primitive est attendue.</p>
+Le moteur JavaScript appelle la méthode `[@@toPrimitive]()` afin de convertir un objet en une valeur primitive. Généralement, il n'est pas nécessaire d'appeler `[@@toPrimitive]()` car le moteur JavaScript l'appelle automatiquement lorsqu'il détecte un objet là où une valeur primitive est attendue.
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<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.prototype-@@toprimitive', 'Symbol.prototype.@@toPrimitive')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.prototype-@@toprimitive', 'Symbol.prototype.@@toPrimitive')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.prototype-@@toprimitive', 'Symbol.prototype.@@toPrimitive')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.prototype-@@toprimitive', 'Symbol.prototype.@@toPrimitive')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.@@toPrimitive")}}</p>
+{{Compat("javascript.builtins.Symbol.@@toPrimitive")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Symbol.toPrimitive")}}</li>
-</ul>
+- {{jsxref("Symbol.toPrimitive")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/asynciterator/index.md b/files/fr/web/javascript/reference/global_objects/symbol/asynciterator/index.md
index c70f09bb88..502ee237b5 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/asynciterator/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/asynciterator/index.md
@@ -10,30 +10,31 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/asyncIterator
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <code><strong>Symbol.asyncIterator</strong></code> définit l'itérateur asynchrone par défaut d'un objet. Si cette propriété est définie sur un objet, celui-ci est un itérable asynchrone et peut être utilisé avec une boucle <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of">for await...of</a></code>.</p>
+Le symbole connu **`Symbol.asyncIterator`** définit l'itérateur asynchrone par défaut d'un objet. Si cette propriété est définie sur un objet, celui-ci est un itérable asynchrone et peut être utilisé avec une boucle [`for await...of`](/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of).
-<p>{{js_property_attributes(0,0,0)}}</p>
+{{js_property_attributes(0,0,0)}}
-<h2 id="Description">Description</h2>
+## Description
-<p>Le symbole <code>Symbol.asyncIterator</code> est un symbole natif utilisé pour accéder à la méthode <code>@@asyncIterator</code> d'un objet. Pour qu'un objet soit un itérable asynchrone, il doit avoir une clé <code>Symbol.asyncIterator</code>.</p>
+Le symbole `Symbol.asyncIterator` est un symbole natif utilisé pour accéder à la méthode `@@asyncIterator` d'un objet. Pour qu'un objet soit un itérable asynchrone, il doit avoir une clé `Symbol.asyncIterator`.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<h3 id="Itérable_asynchrone_personnalisé">Itérable asynchrone personnalisé</h3>
+### Itérable asynchrone personnalisé
-<p>Il est possible de définir son propre itérable en définissant la propriété <code>[Symbol.asyncIterator]</code> d'un objet :</p>
+Il est possible de définir son propre itérable en définissant la propriété `[Symbol.asyncIterator]` d'un objet :
-<pre class="brush: js">const myAsyncIterable = new Object();
+```js
+const myAsyncIterable = new Object();
myAsyncIterable[Symbol.asyncIterator] = async function*() {
yield "coucou";
yield "l'itération";
yield "asynchrone !";
};
-(async () =&gt; {
+(async () => {
for await (const x of myAsyncIterable) {
console.log(x);
// expected output:
@@ -42,38 +43,23 @@ myAsyncIterable[Symbol.asyncIterator] = async function*() {
// "asynchrone !"
}
})();
-</pre>
+```
-<h3 id="Itérables_asynchrones_natifs">Itérables asynchrones natifs</h3>
+### Itérables asynchrones natifs
-<p>Il n'existe actuellement pas d'objets JavaScript natifs qui possèdent la clé <code>[Symbol.asyncIterator]</code> par défaut. Toutefois, les flux (<em>Streams</em>) WHATWG pourraient devenir les premiers objets natifs itérables asynchrones.</p>
+Il n'existe actuellement pas d'objets JavaScript natifs qui possèdent la clé `[Symbol.asyncIterator]` par défaut. Toutefois, les flux (_Streams_) WHATWG pourraient devenir les premiers objets natifs itérables asynchrones.
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">État</th>
- <th scope="col">Commentaires</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ES2018', '#sec-symbol.asynciterator', 'Symbol.asyncIterator')}}</td>
- <td>{{Spec2('ES2018')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ---------------------------------------------------------------------------------------------------- | ------------------------ | ------------ |
+| {{SpecName('ES2018', '#sec-symbol.asynciterator', 'Symbol.asyncIterator')}} | {{Spec2('ES2018')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{compat("javascript.builtins.Symbol.asyncIterator")}}</p>
+{{compat("javascript.builtins.Symbol.asyncIterator")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration">Les protocoles d'itération</a></li>
- <li><code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of">for await... of</a></code></li>
-</ul>
+- [Les protocoles d'itération](/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration)
+- [`for await... of`](/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of)
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/description/index.md b/files/fr/web/javascript/reference/global_objects/symbol/description/index.md
index c538e5f35f..d2913955c4 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/description/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/description/index.md
@@ -10,26 +10,26 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/description
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/description
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>La propriété en lecture seule <code><strong>description</strong></code> est une chaîne de caractères qui renvoie la description optionnelle de l'objet {{jsxref("Symbol")}}.</p>
+La propriété en lecture seule **`description`** est une chaîne de caractères qui renvoie la description optionnelle de l'objet {{jsxref("Symbol")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-prototype-description.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-prototype-description.html")}}
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">Symbol('maDescription').description;
-Symbol.iterator.description;
-Symbol.for('toto').description;
-</pre>
+ Symbol('maDescription').description;
+ Symbol.iterator.description;
+ Symbol.for('toto').description;
-<h2 id="Description">Description</h2>
+## Description
-<p>Les objets {{jsxref("Symbol")}} peuvent être créés avec une description facultative qui peut être utilisée pour du débogage mais sans accéder au symbole. La propriété <code>Symbol.prototype.description</code> peut être utilisée afin de lire cette description. Cette propriété est différente de <code>Symbol.prototype.toString()</code> car elle ne contient pas la chaîne de caractères "<code>Symbol()</code>" autour de la description (voir les exemples qui suivent).</p>
+Les objets {{jsxref("Symbol")}} peuvent être créés avec une description facultative qui peut être utilisée pour du débogage mais sans accéder au symbole. La propriété `Symbol.prototype.description` peut être utilisée afin de lire cette description. Cette propriété est différente de `Symbol.prototype.toString()` car elle ne contient pas la chaîne de caractères "`Symbol()`" autour de la description (voir les exemples qui suivent).
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">Symbol('desc').toString(); // "Symbol(desc)"
+```js
+Symbol('desc').toString(); // "Symbol(desc)"
Symbol('desc').description; // "desc"
Symbol('').description; // ""
Symbol().description; // undefined
@@ -41,31 +41,19 @@ Symbol.iterator.description; // "Symbol.iterator"
// symboles globaux
Symbol.for('toto').toString(); // "Symbol(toto)"
Symbol.for('toto').description; // "toto"
+```
-</pre>
+## Spécifications
-<h2 id="Spécifications">Spécifications</h2>
+| Spécification | État |
+| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
+| [Proposition pour `Symbol.prototype.description`](https://tc39.github.io/proposal-Symbol-description/#sec-symbol.prototype.description) | Proposition de niveau 4 |
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">État</th>
- </tr>
- <tr>
- <td><a href="https://tc39.github.io/proposal-Symbol-description/#sec-symbol.prototype.description">Proposition pour <code>Symbol.prototype.description</code></a></td>
- <td>Proposition de niveau 4</td>
- </tr>
- </tbody>
-</table>
+## Compatibilité des navigateurs
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+{{Compat("javascript.builtins.Symbol.description")}}
-<p>{{Compat("javascript.builtins.Symbol.description")}}</p>
+## Voir aussi
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.prototype.toString()")}}</li>
- <li>Prothèse d'émulation / <em>Polyfill</em> : <a href="https://npmjs.com/symbol.prototype.description">https://npmjs.com/symbol.prototype.description</a></li>
-</ul>
+- {{jsxref("Symbol.prototype.toString()")}}
+- Prothèse d'émulation / _Polyfill_ : <https://npmjs.com/symbol.prototype.description>
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()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/hasinstance/index.md b/files/fr/web/javascript/reference/global_objects/symbol/hasinstance/index.md
index 4809e68bcc..164f5067d1 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/hasinstance/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/hasinstance/index.md
@@ -10,55 +10,36 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/hasInstance
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole « connu » <strong><code>Symbol.hasInstance</code></strong> est utilisé afin de déterminer si un objet constructeur reconnaît un objet comme une de ses instances. On peut donc adapter/personnaliser le comportement de l'opérateur {{jsxref("Opérateurs/instanceof", "instanceof")}} grâce à ce symbole.</p>
+Le symbole « connu » **`Symbol.hasInstance`** est utilisé afin de déterminer si un objet constructeur reconnaît un objet comme une de ses instances. On peut donc adapter/personnaliser le comportement de l'opérateur {{jsxref("Opérateurs/instanceof", "instanceof")}} grâce à ce symbole.
-<div>{{EmbedInteractiveExample("pages/js/symbol-hasinstance.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-hasinstance.html")}}{{js_property_attributes(0,0,0)}}
+## Exemples
+On peut implémenter un comportement différent pour `instanceof` de cette façon :
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>On peut implémenter un comportement différent pour <code>instanceof</code> de cette façon :</p>
-
-<pre class="brush: js">class MonArray {
+```js
+class MonArray {
static [Symbol.hasInstance](instance) {
return Array.isArray(instance);
}
}
-console.log([] instanceof MonArray); // true</pre>
+console.log([] instanceof MonArray); // true
+```
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<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.hasinstance', 'Symbol.hasInstance')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.hasinstance', 'Symbol.hasInstance')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.hasinstance', 'Symbol.hasInstance')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.hasinstance', 'Symbol.hasInstance')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.hasInstance")}}</p>
+{{Compat("javascript.builtins.Symbol.hasInstance")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Opérateurs/instanceof", "instanceof")}}</li>
-</ul>
+- {{jsxref("Opérateurs/instanceof", "instanceof")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/index.md b/files/fr/web/javascript/reference/global_objects/symbol/index.md
index fdeffa85f1..a4da4d0175 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/index.md
@@ -9,159 +9,154 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Un<strong> symbole</strong> est un <a href="/fr/docs/Web/JavaScript/Structures_de_données#Les_valeurs_primitives">type de données primitif</a> représentant une donnée unique et inchangeable qui peut être utilisée afin de représenter des identifiants pour des propriétés d'un objet. L'objet <code>Symbol</code> est un conteneur objet implicite pour le {{Glossary("Primitive", "type de données primitif")}} symbole.</p>
+Un **symbole** est un [type de données primitif](/fr/docs/Web/JavaScript/Structures_de_données#Les_valeurs_primitives) représentant une donnée unique et inchangeable qui peut être utilisée afin de représenter des identifiants pour des propriétés d'un objet. L'objet `Symbol` est un conteneur objet implicite pour le {{Glossary("Primitive", "type de données primitif")}} symbole.
-<div>{{EmbedInteractiveExample("pages/js/symbol-constructor.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-constructor.html")}}
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">Symbol([<var>description</var>])</pre>
+ Symbol([description])
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>description</code> {{optional_inline}}</dt>
- <dd>Une chaîne de caractères optionnelle. Correspond à une description du symbole, elle peut être utile pour déboguer (mais pas pour accéder au symbole).</dd>
-</dl>
+- `description` {{optional_inline}}
+ - : Une chaîne de caractères optionnelle. Correspond à une description du symbole, elle peut être utile pour déboguer (mais pas pour accéder au symbole).
-<h2 id="Description">Description</h2>
+## Description
-<p>Pour créer un nouveau symbole, il suffit d'appeler <code>Symbol()</code>, éventuellement avec une chaîne de caractère descriptive :</p>
+Pour créer un nouveau symbole, il suffit d'appeler `Symbol()`, éventuellement avec une chaîne de caractère descriptive :
-<pre class="brush: js">var sym1 = Symbol();
+```js
+var sym1 = Symbol();
var sym2 = Symbol("toto");
var sym3 = Symbol("toto");
-</pre>
+```
-<p>Le fragment de code ci-dessus permet de créer trois nouveaux symboles. On notera que l'instruction <code>Symbol("toto")</code> ne convertit pas la chaîne "toto" en un symbole. On crée bien un nouveau symbole pour chaque instruction ci-avant.</p>
+Le fragment de code ci-dessus permet de créer trois nouveaux symboles. On notera que l'instruction `Symbol("toto")` ne convertit pas la chaîne "toto" en un symbole. On crée bien un nouveau symbole pour chaque instruction ci-avant.
-<pre class="brush: js">Symbol("toto") === Symbol("toto"); // false</pre>
+```js
+Symbol("toto") === Symbol("toto"); // false
+```
-<p>La syntaxe suivante, utilisant l'opérateur {{jsxref("Opérateurs/L_opérateur_new", "new")}}, entraînera une exception {{jsxref("TypeError")}}:</p>
+La syntaxe suivante, utilisant l'opérateur {{jsxref("Opérateurs/L_opérateur_new", "new")}}, entraînera une exception {{jsxref("TypeError")}}:
-<pre class="brush: js">var sym = new Symbol(); // TypeError</pre>
+```js
+var sym = new Symbol(); // TypeError
+```
-<p>Cela est fait pour empêcher d'écrire un conteneur (<em>wrapper</em>) explicite de <code>Symbol</code> plutôt qu'une nouvelle valeur, cela peut être surprenant car généralement, on peut créer des objets « autour » de types primitifs (par exemple avec <code>new Boolean</code>, <code>new String</code> et <code>new Number</code>).</p>
+Cela est fait pour empêcher d'écrire un conteneur (_wrapper_) explicite de `Symbol` plutôt qu'une nouvelle valeur, cela peut être surprenant car généralement, on peut créer des objets « autour » de types primitifs (par exemple avec `new Boolean`, `new String` et `new Number`).
-<p>Si on souhaite obtenir un object contenant un symbole, on pourra toujours utiliser la fonction <code>Object()</code> :</p>
+Si on souhaite obtenir un object contenant un symbole, on pourra toujours utiliser la fonction `Object()` :
-<pre class="brush: js">var sym = Symbol("toto");
+```js
+var sym = Symbol("toto");
typeof sym; // "symbol"
var symObj = Object(sym);
-typeof symObj; // "object"</pre>
+typeof symObj; // "object"
+```
-<h3 id="Symboles_partagés_et_registre_global_des_symboles">Symboles partagés et registre global des symboles</h3>
+### Symboles partagés et registre global des symboles
-<p>La syntaxe manipulée ci-avant, utilisant la fonction <code>Symbol()</code>, ne crée pas un symbole global, disponible partout dans votre code. Pour créer des symboles qui soient disponibles pour différents fichiers et appartiennent à l'environnement global, il faut utiliser les méthodes {{jsxref("Symbol.for()")}} et {{jsxref("Symbol.keyFor()")}} afin de définir et de récupérer les symboles listés dans le registre global.</p>
+La syntaxe manipulée ci-avant, utilisant la fonction `Symbol()`, ne crée pas un symbole global, disponible partout dans votre code. Pour créer des symboles qui soient disponibles pour différents fichiers et appartiennent à l'environnement global, il faut utiliser les méthodes {{jsxref("Symbol.for()")}} et {{jsxref("Symbol.keyFor()")}} afin de définir et de récupérer les symboles listés dans le registre global.
-<h3 id="Trouver_les_propriétés_identifiées_par_des_symboles_pour_un_objet">Trouver les propriétés identifiées par des symboles pour un objet</h3>
+### Trouver les propriétés identifiées par des symboles pour un objet
-<p>La méthode {{jsxref("Object.getOwnPropertySymbols()")}} renvoie un tableau de symboles, permettant ainsi de connaître les propriétés identifiées par un symbole pour un objet donné. À l'initialisation, un objet ne contient aucune propriété propre identifiée par un symbole, ce tableau sera donc vide jusqu'à ce qu'une propriété, identifiée par un symbole, lui soit ajoutée.</p>
+La méthode {{jsxref("Object.getOwnPropertySymbols()")}} renvoie un tableau de symboles, permettant ainsi de connaître les propriétés identifiées par un symbole pour un objet donné. À l'initialisation, un objet ne contient aucune propriété propre identifiée par un symbole, ce tableau sera donc vide jusqu'à ce qu'une propriété, identifiée par un symbole, lui soit ajoutée.
-<h3 id="Les_symboles_et_les_conversions">Les symboles et les conversions</h3>
+### Les symboles et les conversions
-<p>Lorsqu'on utilise des mécanismes de conversion de types avec les symboles, on aura le comportement suivant :</p>
+Lorsqu'on utilise des mécanismes de conversion de types avec les symboles, on aura le comportement suivant :
-<ul>
- <li>Lorsqu'on tente de convertir un symbole en un nombre, cela provoquera une exception {{jsxref("TypeError")}} (par exemple avec <code>+sym</code> ou <code>sym | 0</code>).</li>
- <li>L'égalité faible permet d'obtenir <code>true</code> avec <code>Object(sym) == sym</code><code>.</code></li>
- <li><code>Symbol("toto") + "truc" </code>lève une exception {{jsxref("TypeError")}} (le symbole ne peut pas être converti en une chaîne de caractères), cela permet par exemple d'éviter de créer (sans s'en rendre compte) des noms de propriétés basés sur des symboles.</li>
- <li>La méthode utilisant la conversion avec {{jsxref("String","String()")}} fonctionnera comme un appel à {{jsxref("Symbol.prototype.toString()")}}. En revanche, <code>new String(sym)</code> renverra une erreur.</li>
-</ul>
+- Lorsqu'on tente de convertir un symbole en un nombre, cela provoquera une exception {{jsxref("TypeError")}} (par exemple avec `+sym` ou `sym | 0`).
+- L'égalité faible permet d'obtenir `true` avec ` Object(sym) == sym``. `
+- `Symbol("toto") + "truc" `lève une exception {{jsxref("TypeError")}} (le symbole ne peut pas être converti en une chaîne de caractères), cela permet par exemple d'éviter de créer (sans s'en rendre compte) des noms de propriétés basés sur des symboles.
+- La méthode utilisant la conversion avec {{jsxref("String","String()")}} fonctionnera comme un appel à {{jsxref("Symbol.prototype.toString()")}}. En revanche, `new String(sym)` renverra une erreur.
-<h2 id="Propriétés">Propriétés</h2>
+## Propriétés
-<dl>
- <dt><code>Symbol.length</code></dt>
- <dd>La propriété length dont la valeur est 0.</dd>
- <dt>{{jsxref("Symbol.prototype")}}</dt>
- <dd>Cette propriété représente le prototype du constructeur <code>Symbol</code>.</dd>
-</dl>
+- `Symbol.length`
+ - : La propriété length dont la valeur est 0.
+- {{jsxref("Symbol.prototype")}}
+ - : Cette propriété représente le prototype du constructeur `Symbol`.
-<h3 id="Symboles_connus">Symboles connus</h3>
+### Symboles connus
-<p>En plus des symboles que vous pouvez créer, JavaScript possède certains symboles natifs représentant des aspects internes du langages qui, pour ECMAScript 5 et les versions précédentes, n'étaient pas exposées aux développeurs. Il est possible d'accéder à ces symboles en utilisant les propriétés suivantes :</p>
+En plus des symboles que vous pouvez créer, JavaScript possède certains symboles natifs représentant des aspects internes du langages qui, pour ECMAScript 5 et les versions précédentes, n'étaient pas exposées aux développeurs. Il est possible d'accéder à ces symboles en utilisant les propriétés suivantes :
-<h4 id="Symboles_ditération">Symboles d'itération</h4>
+#### Symboles d'itération
-<dl>
- <dt>{{jsxref("Symbol.iterator")}}</dt>
- <dd>Une méthode qui renvoie l'itérateur par défaut d'un objet. Ce symbole est utilisé par la boucle {{jsxref("Instructions/for...of","for...of")}}.</dd>
- <dt>{{jsxref("Symbol.asyncIterator")}}</dt>
- <dd>Une méthode qui renvoie l'itérateur asynchrone par défaut d'un objet. Ce symbole est utilisé par la boucle <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of">for await...of</a></code>.</dd>
-</dl>
+- {{jsxref("Symbol.iterator")}}
+ - : Une méthode qui renvoie l'itérateur par défaut d'un objet. Ce symbole est utilisé par la boucle {{jsxref("Instructions/for...of","for...of")}}.
+- {{jsxref("Symbol.asyncIterator")}}
+ - : Une méthode qui renvoie l'itérateur asynchrone par défaut d'un objet. Ce symbole est utilisé par la boucle [`for await...of`](/fr/docs/Web/JavaScript/Reference/Instructions/for-await...of).
-<h4 id="Symboles_liés_aux_expressions_rationnelles">Symboles liés aux expressions rationnelles</h4>
+#### Symboles liés aux expressions rationnelles
-<dl>
- <dt>{{jsxref("Symbol.match")}}</dt>
- <dd>Une méthode qui fait correspondre une expression rationnelle avec une chaîne de caractères. Elle est aussi utilisée pour déterminer si un objet peut être utilisé comme une expression rationnelle.</dd>
- <dt>{{jsxref("Symbol.matchAll")}}</dt>
- <dd>Une méthode qui renvoie un itérateur permettant de parcourir l'ensemble des correspondances entre une chaîne de caractères et une expression rationnelle. Ce symbole est utilisé par {{jsxref("String.prototype.matchAll()")}}.</dd>
- <dt>{{jsxref("Symbol.replace")}}</dt>
- <dd>Une méthode qui remplace les sous-chaînes correspondantes dans une chaîne de caractères. Utilisée par {{jsxref("String.prototype.replace()")}}.</dd>
- <dt>{{jsxref("Symbol.search")}}</dt>
- <dd>Une méthode qui renvoie l'indice d'une chaîne de caractères pour lequel on a une correspondance avec une expression rationnelle. Utilisée par {{jsxref("String.prototype.search()")}}.</dd>
- <dt>{{jsxref("Symbol.split")}}</dt>
- <dd>Une méthode qui découpe la chaîne à l'indice donné par la correspondance avec une expression rationnelle. Utilisée par {{jsxref("String.prototype.split()")}}.</dd>
-</dl>
+- {{jsxref("Symbol.match")}}
+ - : Une méthode qui fait correspondre une expression rationnelle avec une chaîne de caractères. Elle est aussi utilisée pour déterminer si un objet peut être utilisé comme une expression rationnelle.
+- {{jsxref("Symbol.matchAll")}}
+ - : Une méthode qui renvoie un itérateur permettant de parcourir l'ensemble des correspondances entre une chaîne de caractères et une expression rationnelle. Ce symbole est utilisé par {{jsxref("String.prototype.matchAll()")}}.
+- {{jsxref("Symbol.replace")}}
+ - : Une méthode qui remplace les sous-chaînes correspondantes dans une chaîne de caractères. Utilisée par {{jsxref("String.prototype.replace()")}}.
+- {{jsxref("Symbol.search")}}
+ - : Une méthode qui renvoie l'indice d'une chaîne de caractères pour lequel on a une correspondance avec une expression rationnelle. Utilisée par {{jsxref("String.prototype.search()")}}.
+- {{jsxref("Symbol.split")}}
+ - : Une méthode qui découpe la chaîne à l'indice donné par la correspondance avec une expression rationnelle. Utilisée par {{jsxref("String.prototype.split()")}}.
-<h4 id="Autres_symboles">Autres symboles</h4>
+#### Autres symboles
-<dl>
- <dt>{{jsxref("Symbol.hasInstance")}}</dt>
- <dd>Une méthode qui permet de déterminer si un constructeur reconnaît un objet comme son instance. Utilisé par {{jsxref("Opérateurs/instanceof", "instanceof")}}.</dd>
- <dt>{{jsxref("Symbol.isConcatSpreadable")}}</dt>
- <dd>Une valeur booléenne qui indique si un objet devrait être réduit à la concaténation des éléments de son tableau via  {{jsxref("Array.prototype.concat()")}}.</dd>
- <dt>{{jsxref("Symbol.unscopables")}}</dt>
- <dd>Un objet dont les noms des propriétés propres et héritées sont exclues de l'objet associé lors de l'utilisation de <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/with">with</a></code>.</dd>
- <dt>{{jsxref("Symbol.species")}}</dt>
- <dd>Un constructeur utilisé pour construire des objets dérivés.</dd>
- <dt>{{jsxref("Symbol.toPrimitive")}}</dt>
- <dd>Spécifié comme @@toPrimitive. Une méthode qui convertit un objet en sa valeur primitive.</dd>
- <dt>{{jsxref("Symbol.toStringTag")}}</dt>
- <dd>Spécifié comme @@toStringTag. Une chaîne de caractères utilisée pour la description d'un objet. Ce symbole est utilisé par {{jsxref("Object.prototype.toString()")}}.</dd>
-</dl>
+- {{jsxref("Symbol.hasInstance")}}
+ - : Une méthode qui permet de déterminer si un constructeur reconnaît un objet comme son instance. Utilisé par {{jsxref("Opérateurs/instanceof", "instanceof")}}.
+- {{jsxref("Symbol.isConcatSpreadable")}}
+ - : Une valeur booléenne qui indique si un objet devrait être réduit à la concaténation des éléments de son tableau via  {{jsxref("Array.prototype.concat()")}}.
+- {{jsxref("Symbol.unscopables")}}
+ - : Un objet dont les noms des propriétés propres et héritées sont exclues de l'objet associé lors de l'utilisation de [`with`](/fr/docs/Web/JavaScript/Reference/Instructions/with).
+- {{jsxref("Symbol.species")}}
+ - : Un constructeur utilisé pour construire des objets dérivés.
+- {{jsxref("Symbol.toPrimitive")}}
+ - : Spécifié comme @@toPrimitive. Une méthode qui convertit un objet en sa valeur primitive.
+- {{jsxref("Symbol.toStringTag")}}
+ - : Spécifié comme @@toStringTag. Une chaîne de caractères utilisée pour la description d'un objet. Ce symbole est utilisé par {{jsxref("Object.prototype.toString()")}}.
-<h2 id="Méthodes">Méthodes</h2>
+## Méthodes
-<dl>
- <dt>{{jsxref("Symbol.for()", "Symbol.for(key)")}}</dt>
- <dd>Recherche parmi les symboles existants un symbole désigné par cette clé. S'il est trouvé, le symbole est renvoyé, sinon un nouveau symbole est créé et enregistré avec cette clé dans le registre global des symboles.</dd>
- <dt>{{jsxref("Symbol.keyFor", "Symbol.keyFor(sym)")}}</dt>
- <dd>Pour un symbole donné, récupère la clé d'un symbole partagé depuis le registre global.</dd>
-</dl>
+- {{jsxref("Symbol.for()", "Symbol.for(key)")}}
+ - : Recherche parmi les symboles existants un symbole désigné par cette clé. S'il est trouvé, le symbole est renvoyé, sinon un nouveau symbole est créé et enregistré avec cette clé dans le registre global des symboles.
+- {{jsxref("Symbol.keyFor", "Symbol.keyFor(sym)")}}
+ - : Pour un symbole donné, récupère la clé d'un symbole partagé depuis le registre global.
-<h2 id="Prototype_Symbol">Prototype <code>Symbol</code></h2>
+## Prototype `Symbol`
-<p>Tous les symboles héritent de {{jsxref("Symbol.prototype")}}.</p>
+Tous les symboles héritent de {{jsxref("Symbol.prototype")}}.
-<h3 id="Propriétés_2">Propriétés</h3>
+### Propriétés
-<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Symbol/prototype','Propri.C3.A9t.C3.A9s')}}</p>
+{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Symbol/prototype','Propri.C3.A9t.C3.A9s')}}
-<h3 id="Méthodes_2">Méthodes</h3>
+### Méthodes
-<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Symbol/prototype','M.C3.A9thodes')}}</p>
+{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Symbol/prototype','M.C3.A9thodes')}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<h3 id="Utiliser_lopérateur_typeof_avec_des_symboles">Utiliser l'opérateur <code>typeof</code> avec des symboles</h3>
+### Utiliser l'opérateur `typeof` avec des symboles
-<p>L'opérateur {{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}} permet d'identifier des symboles :</p>
+L'opérateur {{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}} permet d'identifier des symboles :
-<pre class="brush: js">typeof Symbol() === 'symbol'
+```js
+typeof Symbol() === 'symbol'
typeof Symbol('toto') === 'symbol'
typeof Symbol.iterator === 'symbol'
-</pre>
+```
-<h3 id="Les_symboles_et_les_boucles_for...in">Les symboles et les boucles <code>for...in</code></h3>
+### Les symboles et les boucles `for...in`
-<p>Les symboles ne peuvent pas être énumérés dans les boucles <a href="/fr/docs/JavaScript/Reference/Instructions/for...in"><code>for...in</code></a>. De plus, la méthode {{jsxref("Object.getOwnPropertyNames()")}} ne renverra pas les propriétés identifiées par des symboles. La méthode {{jsxref("Object.getOwnPropertySymbols()")}} permet d'avoir accès à ces propriétés.</p>
+Les symboles ne peuvent pas être énumérés dans les boucles [`for...in`](/fr/docs/JavaScript/Reference/Instructions/for...in). De plus, la méthode {{jsxref("Object.getOwnPropertyNames()")}} ne renverra pas les propriétés identifiées par des symboles. La méthode {{jsxref("Object.getOwnPropertySymbols()")}} permet d'avoir accès à ces propriétés.
-<pre class="brush: js">var obj = {};
+```js
+var obj = {};
obj[Symbol("a")] = "a";
obj[Symbol.for("b")] = "b";
@@ -170,57 +165,45 @@ obj.d = "d";
for (var i in obj) {
console.log(i); // enregistre "c" et "d"
-}</pre>
+}
+```
-<h3 id="Les_symboles_et_JSON.stringify">Les symboles et <code>JSON.stringify()</code></h3>
+### Les symboles et `JSON.stringify()`
-<p>Les propriétés identifiées par des symboles seront totalement ignorées par <code>JSON.stringify()</code>:</p>
+Les propriétés identifiées par des symboles seront totalement ignorées par `JSON.stringify()`:
-<pre class="brush: js">JSON.stringify({[Symbol("toto")]: "toto"});
-// '{}'</pre>
+```js
+JSON.stringify({[Symbol("toto")]: "toto"});
+// '{}'
+```
-<p>Pour plus de détails, voir la page {{jsxref("JSON.stringify()")}}.</p>
+Pour plus de détails, voir la page {{jsxref("JSON.stringify()")}}.
-<h3 id="Utiliser_les_symboles_enveloppés_dans_un_objet">Utiliser les symboles enveloppés dans un objet</h3>
+### Utiliser les symboles enveloppés dans un objet
-<p>Lors qu'on on utilise un objet pour contenir la valeur du symbole et faire référence à une propriété, l'objet sera ramené au symbole d'origine :</p>
+Lors qu'on on utilise un objet pour contenir la valeur du symbole et faire référence à une propriété, l'objet sera ramené au symbole d'origine :
-<pre class="brush: js">var sym = Symbol("toto")
+```js
+var sym = Symbol("toto")
var obj = {[sym]: 1};
obj[sym]; // 1
-obj[Object(sym)]; // toujours 1</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-objects', 'Symbol')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol-objects', 'Symbol')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{Glossary("Symbole","Le type de données Symbol dans le glossaire")}}</li>
- <li>{{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}}</li>
- <li><a href="/fr/docs/Web/JavaScript/Structures_de_données">Les types de données et les structures de données</a></li>
- <li><a href="https://tech.mozfr.org">L'article ES6 en détails sur les symboles disponible sur tech.mozfr.org</a></li>
-</ul>
+obj[Object(sym)]; // toujours 1
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol-objects', 'Symbol')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol-objects', 'Symbol')}} | {{Spec2('ESDraft')}} | |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol")}}
+
+## Voir aussi
+
+- {{Glossary("Symbole","Le type de données Symbol dans le glossaire")}}
+- {{jsxref("Opérateurs/L_opérateur_typeof", "typeof")}}
+- [Les types de données et les structures de données](/fr/docs/Web/JavaScript/Structures_de_données)
+- [L'article ES6 en détails sur les symboles disponible sur tech.mozfr.org](https://tech.mozfr.org)
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.md b/files/fr/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.md
index 4d106382a2..503c3b97af 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/isconcatspreadable/index.md
@@ -10,43 +10,41 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/isConcatSpreadable
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <strong><code>Symbol.isConcatSpreadable</code></strong> est utilisé pour configurer la façon dont un tableau est aplati lors d'une concaténation via la méthode  {{jsxref("Array.prototype.concat()")}}.</p>
+Le symbole connu **`Symbol.isConcatSpreadable`** est utilisé pour configurer la façon dont un tableau est aplati lors d'une concaténation via la méthode  {{jsxref("Array.prototype.concat()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-isconcatspreadable.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-isconcatspreadable.html")}}
+## Description
+Le symbole `@@isConcatSpreadable` (`Symbol.isConcatSpreadable`) peut être défini comme une propriété propre ou héritée. C'est une valeur booléenne qui contrôle le comportement des tableaux et des objets semblables à des tableaux :
-<h2 id="Description">Description</h2>
+- Pour les tableaux, `concat` aplatira les tableaux par défaut. `Symbol.isConcatSpreadable` peut être utilisé pour obtenir le comportement opposé.
+- Pour les objets semblables à des tableaux, par défaut, il n'y aucune mise à plat. `Symbol.isConcatSpreadable` permet de forcer cette mise à plat.
-<p>Le symbole <code>@@isConcatSpreadable</code> (<code>Symbol.isConcatSpreadable</code>) peut être défini comme une propriété propre ou héritée. C'est une valeur booléenne qui contrôle le comportement des tableaux et des objets semblables à des tableaux :</p>
+{{js_property_attributes(0,0,0)}}
-<ul>
- <li>Pour les tableaux, <code>concat</code> aplatira les tableaux par défaut. <code>Symbol.isConcatSpreadable</code> peut être utilisé pour obtenir le comportement opposé.</li>
- <li>Pour les objets semblables à des tableaux, par défaut, il n'y aucune mise à plat. <code>Symbol.isConcatSpreadable</code> permet de forcer cette mise à plat.</li>
-</ul>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+### Tableaux (`Array`)
-<h2 id="Exemples">Exemples</h2>
+Par défaut, {{jsxref("Array.prototype.concat()")}} aplatit les tableaux pour le résultat de la concaténation :
-<h3 id="Tableaux_(Array)">Tableaux (<code>Array</code>)</h3>
-
-<p>Par défaut, {{jsxref("Array.prototype.concat()")}} aplatit les tableaux pour le résultat de la concaténation :</p>
-
-<pre class="brush: js">var alpha = ['a', 'b', 'c'],
+```js
+var alpha = ['a', 'b', 'c'],
numérique = [1, 2, 3];
var alphaNumérique = alpha.concat(numérique);
console.log(alphaNumérique);
// Résultat : ['a', 'b', 'c', 1, 2, 3]
-</pre>
+```
-<p>En définissant <code>Symbol.isConcatSpreadable</code> avec <code>false</code>, on peut désactiver le comportement par défaut :</p>
+En définissant `Symbol.isConcatSpreadable` avec `false`, on peut désactiver le comportement par défaut :
-<pre class="brush: js">var alpha = ['a', 'b', 'c'],
+```js
+var alpha = ['a', 'b', 'c'],
numérique = [1, 2, 3];
numérique[Symbol.isConcatSpreadable] = false;
@@ -54,13 +52,14 @@ var alphaNumérique = alpha.concat(numérique);
console.log(alphaNumérique);
// Résultat: ['a', 'b', 'c', [1, 2, 3] ]
-</pre>
+```
-<h3 id="Objets_semblables_à_des_tableaux">Objets semblables à des tableaux</h3>
+### Objets semblables à des tableaux
-<p>Pour les objets semblables à un tableau, par défaut, il n'y a pas de fusion. Il faut donc que <code>Symbol.isConcatSpreadable</code> vaille <code>true</code> pour aplatir le tableau :</p>
+Pour les objets semblables à un tableau, par défaut, il n'y a pas de fusion. Il faut donc que `Symbol.isConcatSpreadable` vaille `true` pour aplatir le tableau :
-<pre class="brush: js">var x = [1, 2, 3];
+```js
+var x = [1, 2, 3];
var fauxTableau = {
[Symbol.isConcatSpreadable]: true,
@@ -70,40 +69,21 @@ var fauxTableau = {
}
x.concat(fauxTableau); // [1, 2, 3, "coucou", "monde"]
-</pre>
-
-<div class="note">
-<p><strong>Note :</strong> La propriété <code>length</code> indique ici le nombre de propriétés à ajouter au tableau.</p>
-</div>
-
-<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.isconcatspreadable', 'Symbol.isconcatspreadable')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.isconcatspreadable', 'Symbol.isconcatspreadable')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Aucune modification.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.isConcatSpreadable")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Array.prototype.concat()")}}</li>
-</ul>
+```
+
+> **Note :** La propriété `length` indique ici le nombre de propriétés à ajouter au tableau.
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| -------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.isconcatspreadable', 'Symbol.isconcatspreadable')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.isconcatspreadable', 'Symbol.isconcatspreadable')}} | {{Spec2('ESDraft')}} | Aucune modification. |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.isConcatSpreadable")}}
+
+## Voir aussi
+
+- {{jsxref("Array.prototype.concat()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/iterator/index.md b/files/fr/web/javascript/reference/global_objects/symbol/iterator/index.md
index 2b3d9bf367..7b3abbbe88 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/iterator/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/iterator/index.md
@@ -10,50 +10,48 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/iterator
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/iterator
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole <code><strong>Symbol.iterator</strong></code> définit l'itérateur par défaut d'un objet. C'est l'itérateur qui sera utilisé par <a href="/fr/docs/Web/JavaScript/Reference/Instructions/for...of"><code>for...of</code></a>.</p>
+Le symbole **`Symbol.iterator`** définit l'itérateur par défaut d'un objet. C'est l'itérateur qui sera utilisé par [`for...of`](/fr/docs/Web/JavaScript/Reference/Instructions/for...of).
-<div>{{EmbedInteractiveExample("pages/js/symbol-iterator.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-iterator.html")}}
+## Description
+Lorsqu'on doit itérer sur un objet (par exemple avec une boucle `for..of`), sa méthode `@@iterator` est appelée sans argument et l'itérateur renvoyé par la méthode est utilisé pour récupérer les valeurs sur lesquelles itérer.
-<h2 id="Description">Description</h2>
+Certains types natifs possèdent un comportement par défaut pour l'itération, d'autres types (tels qu'{{jsxref("Object")}}) n'ont pas de tel comportement. Les types natifs qui disposent d'une méthode `@@iterator` sont :
-<p>Lorsqu'on doit itérer sur un objet (par exemple avec une boucle <code>for..of</code>), sa méthode <code>@@iterator</code> est appelée sans argument et l'itérateur renvoyé par la méthode est utilisé pour récupérer les valeurs sur lesquelles itérer.</p>
+- {{jsxref("Array.@@iterator", "Array.prototype[@@iterator]()")}}
+- {{jsxref("TypedArray.@@iterator", "TypedArray.prototype[@@iterator]()")}}
+- {{jsxref("String.@@iterator", "String.prototype[@@iterator]()")}}
+- {{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}
+- {{jsxref("Set.@@iterator", "Set.prototype[@@iterator]()")}}
-<p>Certains types natifs possèdent un comportement par défaut pour l'itération, d'autres types (tels qu'{{jsxref("Object")}}) n'ont pas de tel comportement. Les types natifs qui disposent d'une méthode <code>@@iterator</code> sont :</p>
+Pour plus d'informations, voir aussi [la page sur les protocoles d'itération](/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration).
-<ul>
- <li>{{jsxref("Array.@@iterator", "Array.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("TypedArray.@@iterator", "TypedArray.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("String.@@iterator", "String.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("Set.@@iterator", "Set.prototype[@@iterator]()")}}</li>
-</ul>
+{{js_property_attributes(0,0,0)}}
-<p>Pour plus d'informations, voir aussi <a href="/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration">la page sur les protocoles d'itération</a>.</p>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+### Itérables définis par l'utilisateur
-<h2 id="Exemples">Exemples</h2>
+Il est possible de construire un itérable de la façon suivante :
-<h3 id="Itérables_définis_par_l'utilisateur">Itérables définis par l'utilisateur</h3>
-
-<p>Il est possible de construire un itérable de la façon suivante :</p>
-
-<pre class="brush: js">var monItérable = {}
+```js
+var monItérable = {}
monItérable[Symbol.iterator] = function* () {
yield 1;
yield 2;
yield 3;
};
[...monItérable] // [1, 2, 3]
-</pre>
+```
-<p>On peut également définir ces itérables via des propriétés calculées dans des déclarations de classe ou dans des littéraux objets :</p>
+On peut également définir ces itérables via des propriétés calculées dans des déclarations de classe ou dans des littéraux objets :
-<pre class="brush: js">class Toto {
+```js
+class Toto {
*[Symbol.iterator] () {
yield 1;
yield 2;
@@ -70,52 +68,34 @@ const monObj = {
[... new Toto] // [1, 2, 3]
[... monObj] // ["a", "b"]
-</pre>
+```
-<h3 id="Itérables_mal-formés">Itérables mal-formés</h3>
+### Itérables mal-formés
-<p>Si la méthode <code>@@iterator</code> d'un itérable ne renvoie pas un itérateur, on dira que c'est un itérable mal-formé. Utiliser un tel itérable peut provoquer des erreurs lors de l'exécution :</p>
+Si la méthode `@@iterator` d'un itérable ne renvoie pas un itérateur, on dira que c'est un itérable mal-formé. Utiliser un tel itérable peut provoquer des erreurs lors de l'exécution :
-<pre class="brush: js">var itérableMalFormé = {}
-itérableMalFormé[Symbol.iterator] = () =&gt; 1
+```js
+var itérableMalFormé = {}
+itérableMalFormé[Symbol.iterator] = () => 1
[...itérableMalFormé] // TypeError: [] is not a function
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">État</th>
- <th scope="col">Commentaires</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ES2015', '#sec-symbol.iterator', 'Symbol.iterator')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.iterator', 'Symbol.iterator')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.iterator")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration">Les protocoles d'itération</a></li>
- <li>{{jsxref("Array.@@iterator", "Array.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("TypedArray.@@iterator", "TypedArray.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("String.@@iterator", "String.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}</li>
- <li>{{jsxref("Set.@@iterator", "Set.prototype[@@iterator]()")}}</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| ---------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.iterator', 'Symbol.iterator')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.iterator', 'Symbol.iterator')}} | {{Spec2('ESDraft')}} | |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.iterator")}}
+
+## Voir aussi
+
+- [Les protocoles d'itération](/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration)
+- {{jsxref("Array.@@iterator", "Array.prototype[@@iterator]()")}}
+- {{jsxref("TypedArray.@@iterator", "TypedArray.prototype[@@iterator]()")}}
+- {{jsxref("String.@@iterator", "String.prototype[@@iterator]()")}}
+- {{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}
+- {{jsxref("Set.@@iterator", "Set.prototype[@@iterator]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/keyfor/index.md b/files/fr/web/javascript/reference/global_objects/symbol/keyfor/index.md
index 804b089fe1..d9963f9a23 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/keyfor/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/keyfor/index.md
@@ -10,30 +10,29 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/keyFor
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/keyFor
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>La méthode <code><strong>Symbol.keyFor(sym)</strong></code> permet de récupérer la clé d'un symbole donné qui est partagé via le registre global des symboles.</p>
+La méthode **`Symbol.keyFor(sym)`** permet de récupérer la clé d'un symbole donné qui est partagé via le registre global des symboles.
-<div>{{EmbedInteractiveExample("pages/js/symbol-keyfor.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-keyfor.html")}}
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox">Symbol.keyFor(<var>sym</var>);</pre>
+ Symbol.keyFor(sym);
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>sym</code></dt>
- <dd>Le symbole dont on souhaite connaître la clé. Ce paramètre est obligatoire.</dd>
-</dl>
+- `sym`
+ - : Le symbole dont on souhaite connaître la clé. Ce paramètre est obligatoire.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une chaîne de caractères qui représente la clé d'un symbole donné si celui-ci est trouvé dans le registre global ou {{jsxref("undefined")}} sinon.</p>
+Une chaîne de caractères qui représente la clé d'un symbole donné si celui-ci est trouvé dans le registre global ou {{jsxref("undefined")}} sinon.
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">var symboleGlobal = Symbol.for("toto"); // on crée un symbole global
+```js
+var symboleGlobal = Symbol.for("toto"); // on crée un symbole global
Symbol.keyFor(symboleGlobal); // "toto"
var symboleLocal = Symbol();
@@ -42,36 +41,19 @@ Symbol.keyFor(symboleLocal); // undefined
// les symboles connus ne sont pas dans le registre
// global
Symbol.keyFor(Symbol.iterator); // undefined
-</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.keyfor', 'Symbol.keyFor')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.keyfor', 'Symbol.keyFor')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.keyFor")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.for()")}}</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.keyfor', 'Symbol.keyFor')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.keyfor', 'Symbol.keyFor')}} | {{Spec2('ESDraft')}} |   |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.keyFor")}}
+
+## Voir aussi
+
+- {{jsxref("Symbol.for()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/match/index.md b/files/fr/web/javascript/reference/global_objects/symbol/match/index.md
index c1b0aed572..ec609b6c6a 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/match/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/match/index.md
@@ -10,69 +10,53 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/match
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/match
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole <code><strong>Symbol.match</strong></code> définit la correspondance d'une expression rationnelle par rapport à une chaîne de caractères. Cette fonction est appelée par la méthode {{jsxref("String.prototype.match()")}}.</p>
+Le symbole **`Symbol.match`** définit la correspondance d'une expression rationnelle par rapport à une chaîne de caractères. Cette fonction est appelée par la méthode {{jsxref("String.prototype.match()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-match.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-match.html")}}
+## Description
+Cette fonction est également utilisée pour identifier les objets qui jouent un rôle avec les expressions rationnelles. Ainsi, les méthodes {{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} et {{jsxref("String.prototype.includes()")}} vérifient si leur premier argument est une expression rationnelle et lèvent une exception {{jsxref("TypeError")}} si c'est le cas. Si le symbole `match` est modifié et vaut une valeur `false` (ou équivalente), cela indique que l'objet ne doit pas être utilisé comme une expression rationnelle.
-<h2 id="Description">Description</h2>
+{{js_property_attributes(0,0,0)}}
-<p>Cette fonction est également utilisée pour identifier les objets qui jouent un rôle avec les expressions rationnelles. Ainsi, les méthodes {{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} et {{jsxref("String.prototype.includes()")}} vérifient si leur premier argument est une expression rationnelle et lèvent une exception {{jsxref("TypeError")}} si c'est le cas. Si le symbole <code>match</code> est modifié et vaut une valeur <code>false</code> (ou équivalente), cela indique que l'objet ne doit pas être utilisé comme une expression rationnelle.</p>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+Le code suivant renverra une exception {{jsxref("TypeError")}} :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Le code suivant renverra une exception {{jsxref("TypeError")}} :</p>
-
-<pre class="brush: js">"/truc/".startsWith(/truc/);
+```js
+"/truc/".startsWith(/truc/);
// lève une TypeError car /truc/
// est une expression rationnelle
-// et que Symbol.match n'a pas été modifié.</pre>
+// et que Symbol.match n'a pas été modifié.
+```
-<p>Cependant, si <code>Symbol.match</code> vaut <code>false</code>, cette vérification <code>isRegExp</code> indiquera que l'objet à prendre en compte n'est pas une expression rationnelle. Les méthodes <code>startsWith</code> et <code>endsWith</code> ne déclencheront donc pas d'exception <code>TypeError</code>.</p>
+Cependant, si `Symbol.match` vaut `false`, cette vérification `isRegExp` indiquera que l'objet à prendre en compte n'est pas une expression rationnelle. Les méthodes `startsWith` et `endsWith` ne déclencheront donc pas d'exception `TypeError`.
-<pre class="brush: js">var re = /toto/;
+```js
+var re = /toto/;
re[Symbol.match] = false;
"/toto/".startsWith(re); // true
"/truc/".endsWith(re); // false
-</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.match', 'Symbol.match')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.match', 'Symbol.match')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.match")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.replace")}}</li>
- <li>{{jsxref("Symbol.search")}}</li>
- <li>{{jsxref("Symbol.split")}}</li>
- <li>{{jsxref("RegExp.@@match", "RegExp.prototype[@@match]()")}}</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| -------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.match', 'Symbol.match')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.match', 'Symbol.match')}} | {{Spec2('ESDraft')}} |   |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.match")}}
+
+## Voir aussi
+
+- {{jsxref("Symbol.replace")}}
+- {{jsxref("Symbol.search")}}
+- {{jsxref("Symbol.split")}}
+- {{jsxref("RegExp.@@match", "RegExp.prototype[@@match]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/matchall/index.md b/files/fr/web/javascript/reference/global_objects/symbol/matchall/index.md
index e3fa6b44aa..ef0df351c6 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/matchall/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/matchall/index.md
@@ -9,56 +9,41 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/matchAll
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/matchAll
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <code><strong>Symbol.matchAll</strong></code> renvoie un itérateur qui fournit l'ensemble des correspondances entre une expression rationnelle et une chaîne de caractères. Cette fonction est implicitement appelée par la méthode {{jsxref("String.prototype.matchAll()")}}.</p>
+Le symbole connu **`Symbol.matchAll`** renvoie un itérateur qui fournit l'ensemble des correspondances entre une expression rationnelle et une chaîne de caractères. Cette fonction est implicitement appelée par la méthode {{jsxref("String.prototype.matchAll()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-matchall.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-matchall.html")}}
-<h2 id="Description">Description</h2>
+## Description
-<div>
-<p>Ce symbole est utilisé par {{jsxref("String.prototype.matchAll()")}} et plus particulièrement par {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}. Les deux lignes qui suivent renverront le même résultat :</p>
+Ce symbole est utilisé par {{jsxref("String.prototype.matchAll()")}} et plus particulièrement par {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}. Les deux lignes qui suivent renverront le même résultat :
-<pre class="brush: js">'abc'.matchAll(/a/);
+```js
+'abc'.matchAll(/a/);
-/a/[Symbol.matchAll]('abc');</pre>
+/a/[Symbol.matchAll]('abc');
+```
-<p>Cette méthode existe afin de personnaliser le comportement des correspondances pour les sous-classes de {{jsxref("RegExp")}}.</p>
+Cette méthode existe afin de personnaliser le comportement des correspondances pour les sous-classes de {{jsxref("RegExp")}}.
-<p>{{js_property_attributes(0,0,0)}}</p>
-</div>
+{{js_property_attributes(0,0,0)}}
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Voir les pages {{jsxref("String.prototype.matchAll()")}} et {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}} pour plus d'exemples.</p>
+Voir les pages {{jsxref("String.prototype.matchAll()")}} et {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}} pour plus d'exemples.
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">État</th>
- <th scope="col">Commentaires</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.matchall', 'Symbol.matchAll')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ---------------------------------------------------------------------------------------- | ---------------------------- | ------------ |
+| {{SpecName('ESDraft', '#sec-symbol.matchall', 'Symbol.matchAll')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.matchAll")}}</p>
+{{Compat("javascript.builtins.Symbol.matchAll")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("String.prototype.matchAll()")}}</li>
- <li>{{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}</li>
-</ul>
+- {{jsxref("String.prototype.matchAll()")}}
+- {{jsxref("RegExp.@@matchAll", "RegExp.prototype[@@matchAll]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/replace/index.md b/files/fr/web/javascript/reference/global_objects/symbol/replace/index.md
index 8b8e11ecbb..6ec4f7d191 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/replace/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/replace/index.md
@@ -10,49 +10,28 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/replace
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/replace
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <code><strong>Symbol.replace</strong></code> définit la méthode utilisée pour remplacer les correspondances trouvées dans une chaîne de caractères. Cette fonction est appelée par la méthode {{jsxref("String.prototype.replace()")}}.</p>
+Le symbole connu **`Symbol.replace`** définit la méthode utilisée pour remplacer les correspondances trouvées dans une chaîne de caractères. Cette fonction est appelée par la méthode {{jsxref("String.prototype.replace()")}}.
-<p>Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}} et {{jsxref("String.prototype.replace()")}}.</p>
+Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}} et {{jsxref("String.prototype.replace()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-replace.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-replace.html")}}{{js_property_attributes(0,0,0)}}
+## Spécifications
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.replace', 'Symbol.replace')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.replace', 'Symbol.replace')}} | {{Spec2('ESDraft')}} |   |
-<div>{{js_property_attributes(0,0,0)}}</div>
+## Compatibilité des navigateurs
-<h2 id="Spécifications">Spécifications</h2>
+{{Compat("javascript.builtins.Symbol.replace")}}
-<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.replace', 'Symbol.replace')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.replace', 'Symbol.replace')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+## Voir aussi
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.replace")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.match")}}</li>
- <li>{{jsxref("Symbol.search")}}</li>
- <li>{{jsxref("Symbol.split")}}</li>
- <li>{{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}}</li>
-</ul>
+- {{jsxref("Symbol.match")}}
+- {{jsxref("Symbol.search")}}
+- {{jsxref("Symbol.split")}}
+- {{jsxref("RegExp.@@replace", "RegExp.prototype[@@replace]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/search/index.md b/files/fr/web/javascript/reference/global_objects/symbol/search/index.md
index 0b517d7c13..ac3ddb1ae3 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/search/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/search/index.md
@@ -10,49 +10,28 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/search
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/search
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <code><strong>Symbol.search</strong></code> définit la méthode qui renvoie l'indice indiquant la position d'une correspondance trouvée dans une chaîne de caractères grâce à une expression rationnelle. Cette fonction est appelée par la méthode {{jsxref("String.prototype.search()")}}.</p>
+Le symbole connu **`Symbol.search`** définit la méthode qui renvoie l'indice indiquant la position d'une correspondance trouvée dans une chaîne de caractères grâce à une expression rationnelle. Cette fonction est appelée par la méthode {{jsxref("String.prototype.search()")}}.
-<p>Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@search", "RegExp.prototype[@@search]()")}} et {{jsxref("String.prototype.search()")}}.</p>
+Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@search", "RegExp.prototype[@@search]()")}} et {{jsxref("String.prototype.search()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-search.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-search.html")}}{{js_property_attributes(0,0,0)}}
+## Spécifications
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.search', 'Symbol.search')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.search', 'Symbol.search')}} | {{Spec2('ESDraft')}} |   |
-<div>{{js_property_attributes(0,0,0)}}</div>
+## Compatibilité des navigateurs
-<h2 id="Spécifications">Spécifications</h2>
+{{Compat("javascript.builtins.Symbol.search")}}
-<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.search', 'Symbol.search')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.search', 'Symbol.search')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+## Voir aussi
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.search")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.match")}}</li>
- <li>{{jsxref("Symbol.replace")}}</li>
- <li>{{jsxref("Symbol.split")}}</li>
- <li>{{jsxref("RegExp.@@search", "RegExp.prototype[@@search]()")}}</li>
-</ul>
+- {{jsxref("Symbol.match")}}
+- {{jsxref("Symbol.replace")}}
+- {{jsxref("Symbol.split")}}
+- {{jsxref("RegExp.@@search", "RegExp.prototype[@@search]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/species/index.md b/files/fr/web/javascript/reference/global_objects/symbol/species/index.md
index 1d533ecbc4..8301da4fa2 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/species/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/species/index.md
@@ -10,63 +10,46 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/species
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/species
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole <code><strong>Symbol.species</strong></code> correspond à une fonction utilisée comme constructeur pour créer des objets dérivés.</p>
+Le symbole **`Symbol.species`** correspond à une fonction utilisée comme constructeur pour créer des objets dérivés.
-<div>{{EmbedInteractiveExample("pages/js/symbol-species.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-species.html")}}
+## Description
+L'accesseur `species` permettent aux classes filles de surcharger le constructeur par défaut des objets.
-<h2 id="Description">Description</h2>
+{{js_property_attributes(0,0,0)}}
-<p>L'accesseur <code>species</code> permettent aux classes filles de surcharger le constructeur par défaut des objets.</p>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+Dans certains cas, vous pouvez avoir besoin de renvoyer {{jsxref("Array")}} pour les objets de votre classe dérivée `MonArray`. Cela permet par exemple d'utiliser le constructeur par défaut lors d'un appel à {{jsxref("Array.map", "map()")}}. De cette façon, ces méthodes renverront un objet `Array` plutôt qu'un objet `MonArray`. Grâce au symbole `species`, vous pouvez donc faire :
-<h2 id="Exemples">Exemples</h2>
-
-<p>Dans certains cas, vous pouvez avoir besoin de renvoyer {{jsxref("Array")}} pour les objets de votre classe dérivée <code>MonArray</code>. Cela permet par exemple d'utiliser le constructeur par défaut lors d'un appel à {{jsxref("Array.map", "map()")}}. De cette façon, ces méthodes renverront un objet <code>Array</code> plutôt qu'un objet <code>MonArray</code>. Grâce au symbole <code>species</code>, vous pouvez donc faire :</p>
-
-<pre class="brush: js">class MonArray extends Array {
+```js
+class MonArray extends Array {
// On surcharge species avec le constructeur parent Array
static get [Symbol.species]() { return Array; }
}
var a = new MonArray(1,2,3);
-var mapped = a.map(x =&gt; x * x);
+var mapped = a.map(x => x * x);
console.log(mapped instanceof MonArray); // false
-console.log(mapped instanceof Array); // true</pre>
+console.log(mapped instanceof Array); // true
+```
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<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.species', 'Symbol.species')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.species', 'Symbol.species')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.species', 'Symbol.species')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.species', 'Symbol.species')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.species")}}</p>
+{{Compat("javascript.builtins.Symbol.species")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Map.@@species", "Map[@@species]")}}</li>
- <li>{{jsxref("Set.@@species", "Set[@@species]")}}</li>
-</ul>
+- {{jsxref("Map.@@species", "Map[@@species]")}}
+- {{jsxref("Set.@@species", "Set[@@species]")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/split/index.md b/files/fr/web/javascript/reference/global_objects/symbol/split/index.md
index 46b881a57b..b1e4f5b419 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/split/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/split/index.md
@@ -10,49 +10,28 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/split
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/split
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <code><strong>Symbol.split</strong></code> définit la méthode qui est utilisée pour découper une chaîne de caractères à l'emplacement où une correspondance a été trouvée grâce à une expression rationnelle. Cette fonction est appelée par la méthode {{jsxref("String.prototype.split()")}}.</p>
+Le symbole connu **`Symbol.split`** définit la méthode qui est utilisée pour découper une chaîne de caractères à l'emplacement où une correspondance a été trouvée grâce à une expression rationnelle. Cette fonction est appelée par la méthode {{jsxref("String.prototype.split()")}}.
-<p>Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}} et {{jsxref("String.prototype.split()")}}.</p>
+Pour plus d'informations, se référer aux pages sur {{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}} et {{jsxref("String.prototype.split()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-split.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-split.html")}}{{js_property_attributes(0,0,0)}}
+## Spécifications
+| Spécification | État | Commentaires |
+| -------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.split', 'Symbol.split')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.split', 'Symbol.split')}} | {{Spec2('ESDraft')}} |   |
-<div>{{js_property_attributes(0,0,0)}}</div>
+## Compatibilité des navigateurs
-<h2 id="Spécifications">Spécifications</h2>
+{{Compat("javascript.builtins.Symbol.split")}}
-<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.split', 'Symbol.split')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.split', 'Symbol.split')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+## Voir aussi
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.split")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Symbol.match")}}</li>
- <li>{{jsxref("Symbol.replace")}}</li>
- <li>{{jsxref("Symbol.search")}}</li>
- <li>{{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}}</li>
-</ul>
+- {{jsxref("Symbol.match")}}
+- {{jsxref("Symbol.replace")}}
+- {{jsxref("Symbol.search")}}
+- {{jsxref("RegExp.@@split", "RegExp.prototype[@@split]()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/toprimitive/index.md b/files/fr/web/javascript/reference/global_objects/symbol/toprimitive/index.md
index 61a0cc823f..8d73e8466e 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/toprimitive/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/toprimitive/index.md
@@ -10,25 +10,24 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/toPrimitive
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole « connu » <code><strong>Symbol.toPrimitive</strong></code> définit une fonction qui est appelée pour convertir un objet en une valeur primitive.</p>
+Le symbole « connu » **`Symbol.toPrimitive`** définit une fonction qui est appelée pour convertir un objet en une valeur primitive.
-<div>{{EmbedInteractiveExample("pages/js/symbol-toprimitive.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-toprimitive.html")}}
+## Description
+Lorsqu'on convertit un objet en une valeur primitive et que l'objet possède une propriété `Symbol.toPrimitive` dont la valeur est une fonction, la fonction est appelée avec une chaîne de caractère (`hint`) qui définit le type qu'on privilégie pour la valeur primitive. L'argument `hint` peut prendre l'une des valeurs suivantes : `"number"`, `"string"` ou `"default"`.
-<h2 id="Description">Description</h2>
+{{js_property_attributes(0,0,0)}}
-<p>Lorsqu'on convertit un objet en une valeur primitive et que l'objet possède une propriété <code>Symbol.toPrimitive</code> dont la valeur est une fonction, la fonction est appelée avec une chaîne de caractère (<code>hint</code>) qui définit le type qu'on privilégie pour la valeur primitive. L'argument <code>hint</code> peut prendre l'une des valeurs suivantes : <code>"number"</code>, <code>"string"</code> ou <code>"default"</code>.</p>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+Dans l'exemple qui suit, on voit comment la propriété `Symbol.toPrimitive` peut modifier la valeur primitive obtenue lors de la conversion d'un objet.
-<h2 id="Exemples">Exemples</h2>
-
-<p>Dans l'exemple qui suit, on voit comment la propriété <code>Symbol.toPrimitive</code> peut modifier la valeur primitive obtenue lors de la conversion d'un objet.</p>
-
-<pre class="brush: js">// Premier cas avec un objet sans Symbol.toPrimitive.
+```js
+// Premier cas avec un objet sans Symbol.toPrimitive.
let obj1 = {};
console.log(+obj1); // NaN
console.log(`${obj1}`); // "[object Object]"
@@ -49,39 +48,22 @@ var obj2 = {
console.log(+obj2); // 10 -- hint vaut "number"
console.log(`${obj2}`); // "coucou" -- hint vaut "string"
console.log(obj2 + ""); // true -- hint vaut "default"
-</pre>
+```
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">Etat</th>
- <th scope="col">Commentaires</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-symbol.toprimitive', 'Symbol.toPrimitive')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.toprimitive', 'Symbol.toPrimitive')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | Etat | Commentaires |
+| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.toprimitive', 'Symbol.toPrimitive')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.toprimitive', 'Symbol.toPrimitive')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.toPrimitive")}}</p>
+{{Compat("javascript.builtins.Symbol.toPrimitive")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Date.@@toPrimitive", "Date.prototype[@@toPrimitive]")}}</li>
- <li>{{jsxref("Symbol.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}}</li>
- <li>{{jsxref("Object.prototype.toString()")}}</li>
- <li>{{jsxref("Object.prototype.valueOf()")}}</li>
-</ul>
+- {{jsxref("Date.@@toPrimitive", "Date.prototype[@@toPrimitive]")}}
+- {{jsxref("Symbol.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}}
+- {{jsxref("Object.prototype.toString()")}}
+- {{jsxref("Object.prototype.valueOf()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/tosource/index.md b/files/fr/web/javascript/reference/global_objects/symbol/tosource/index.md
index 45796e26bb..0a19959210 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/tosource/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/tosource/index.md
@@ -11,49 +11,49 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toSource
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/toSource
---
-<div>{{JSRef}} {{non-standard_header}}</div>
+{{JSRef}} {{non-standard_header}}
-<p>La méthode <code><strong>toSource()</strong></code> renvoie une chaîne de caractères représentant le code source de l'objet.</p>
+La méthode **`toSource()`** renvoie une chaîne de caractères représentant le code source de l'objet.
-<p>L'utilisation de cette méthode est généralement interne au moteur JavaScript.</p>
+L'utilisation de cette méthode est généralement interne au moteur JavaScript.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox"><var>Symbol</var>.toSource();
+ Symbol.toSource();
-var <var>sym</var> = Symbol();
-<var>sym</var>.toSource();</pre>
+ var sym = Symbol();
+ sym.toSource();
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une chaîne de caractères qui représente le code source de l'objet.</p>
+Une chaîne de caractères qui représente le code source de l'objet.
-<h2 id="Description">Description</h2>
+## Description
-<p>La méthode <code>toSource</code> renvoie les valeurs suivantes :</p>
+La méthode `toSource` renvoie les valeurs suivantes :
-<ul>
- <li>Pour l'objet <code>Symbol</code> natif, <code>toSource()</code> renvoie la chaîne suivante, indiquant que le code source n'est pas disponible :
+- Pour l'objet `Symbol` natif, `toSource()` renvoie la chaîne suivante, indiquant que le code source n'est pas disponible :
- <pre class="brush:js">"function Symbol() {
- [native code]
-}"</pre>
- </li>
- <li>Pour les instances de <code>Symbol</code>, <code>toSource()</code> renvoie une chaîne représentant le code source :
- <pre class="brush: js">"Symbol()"</pre>
- </li>
-</ul>
+ ```js
+ "function Symbol() {
+ [native code]
+ }"
+ ```
-<h2 id="Spécifications">Spécifications</h2>
+- Pour les instances de `Symbol`, `toSource()` renvoie une chaîne représentant le code source :
-<p>Cette méthode ne fait partie d'aucun standard.</p>
+ ```js
+ "Symbol()"
+ ```
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Spécifications
-<p>{{Compat("javascript.builtins.Symbol.toSource")}}</p>
+Cette méthode ne fait partie d'aucun standard.
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Compatibilité des navigateurs
-<ul>
- <li>{{jsxref("Object.prototype.toSource()")}} {{Non-standard_inline()}}</li>
-</ul>
+{{Compat("javascript.builtins.Symbol.toSource")}}
+
+## Voir aussi
+
+- {{jsxref("Object.prototype.toSource()")}} {{Non-standard_inline()}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/tostring/index.md b/files/fr/web/javascript/reference/global_objects/symbol/tostring/index.md
index 7ab3b55791..6f9bcd119f 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/tostring/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/tostring/index.md
@@ -11,69 +11,55 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toString
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/toString
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>La méthode <code><strong>toString()</strong></code> renvoie une chaîne de caractères représentant l'objet <code>Symbol</code>.</p>
+La méthode **`toString()`** renvoie une chaîne de caractères représentant l'objet `Symbol`.
-<div>{{EmbedInteractiveExample("pages/js/symbol-prototype-tostring.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-prototype-tostring.html")}}
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox"><var>Symbol().toString()</var>;</pre>
+ Symbol().toString();
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Une chaîne de caractères qui représente l'objet {{jsxref("Symbol")}}.</p>
+Une chaîne de caractères qui représente l'objet {{jsxref("Symbol")}}.
-<h2 id="Description">Description</h2>
+## Description
-<p>L'objet {{jsxref("Symbol")}} surcharge la méthode <code>toString()</code> d'{{jsxref("Object")}} et n'hérite pas de {{jsxref("Object.prototype.toString()")}}. Pour les objets <code>Symbol</code>, la méthode <code>toString()</code> renvoie représentation de l'objet sous forme d'une chaîne de caractères.</p>
+L'objet {{jsxref("Symbol")}} surcharge la méthode `toString()` d'{{jsxref("Object")}} et n'hérite pas de {{jsxref("Object.prototype.toString()")}}. Pour les objets `Symbol`, la méthode `toString()` renvoie représentation de l'objet sous forme d'une chaîne de caractères.
-<h3 id="Concaténation_de_chaînes_et_symboles">Concaténation de chaînes et symboles</h3>
+### Concaténation de chaînes et symboles
-<p>Bien qu'il soit possible d'appeler <code>toString()</code> pour les symboles, il n'est pas possible de concaténer une chaîne de caractères avec ce type d'objet :</p>
+Bien qu'il soit possible d'appeler `toString()` pour les symboles, il n'est pas possible de concaténer une chaîne de caractères avec ce type d'objet :
-<pre class="brush: js">Symbol("toto") + "machin"; // TypeError : Impossible de convertir un symbole en chaîne de caractères</pre>
+```js
+Symbol("toto") + "machin"; // TypeError : Impossible de convertir un symbole en chaîne de caractères
+```
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<pre class="brush: js">Symbol("desc").toString(); // "Symbol(desc)"
+```js
+Symbol("desc").toString(); // "Symbol(desc)"
// symboles connus
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)
// symboles globaux
Symbol.for("toto").toString() // "Symbol(toto)"
-</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.prototype.tostring', 'Symbol.prototype.toString')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.prototype.tostring', 'Symbol.prototype.toString')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.toString")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.prototype.toString()")}}</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| -------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------- |
+| {{SpecName('ES2015', '#sec-symbol.prototype.tostring', 'Symbol.prototype.toString')}} | {{Spec2('ES2015')}} | Définition initiale |
+| {{SpecName('ESDraft', '#sec-symbol.prototype.tostring', 'Symbol.prototype.toString')}} | {{Spec2('ESDraft')}} |   |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.toString")}}
+
+## Voir aussi
+
+- {{jsxref("Object.prototype.toString()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/tostringtag/index.md b/files/fr/web/javascript/reference/global_objects/symbol/tostringtag/index.md
index a5c2a0a439..89667ea0f1 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/tostringtag/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/tostringtag/index.md
@@ -10,83 +10,66 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/toStringTag
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <strong><code>Symbol.toStringTag</code></strong> est une propriété qui est une chaîne de caractères qui est utilisée pour la description textuelle par défaut d'un objet. Ce symbole est utilisé par le moteur JavaScript via la méthode {{jsxref("Object.prototype.toString()")}}.</p>
+Le symbole connu **`Symbol.toStringTag`** est une propriété qui est une chaîne de caractères qui est utilisée pour la description textuelle par défaut d'un objet. Ce symbole est utilisé par le moteur JavaScript via la méthode {{jsxref("Object.prototype.toString()")}}.
-<div>{{EmbedInteractiveExample("pages/js/symbol-tostringtag.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-tostringtag.html")}}{{js_property_attributes(0,0,0)}}
+## Description
+La plupart des types JavaScript ont des étiquettes par défaut :
-<div>{{js_property_attributes(0,0,0)}}</div>
-
-<h2 id="Description">Description</h2>
-
-<p>La plupart des types JavaScript ont des étiquettes par défaut :</p>
-
-<pre class="brush: js">Object.prototype.toString.call('toto'); // "[object String]"
+```js
+Object.prototype.toString.call('toto'); // "[object String]"
Object.prototype.toString.call([1, 2]); // "[object Array]"
Object.prototype.toString.call(3); // "[object Number]"
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(undefined); // "[object Undefined]"
Object.prototype.toString.call(null); // "[object Null]"
// etc.
-</pre>
+```
-<p>D'autres ont le symbole natif <code>toStringTag</code> défini :</p>
+D'autres ont le symbole natif `toStringTag` défini :
-<pre class="brush: js">Object.prototype.toString.call(new Map()); // "[object Map]"
+```js
+Object.prototype.toString.call(new Map()); // "[object Map]"
Object.prototype.toString.call(function* () {}); // "[object GeneratorFunction]"
Object.prototype.toString.call(Promise.resolve()); // "[object Promise]"
// etc.
-</pre>
+```
-<p>Lorsqu'on crée des classes personnalisées, JavaScript utilise l'étiquette "Object" par défaut :</p>
+Lorsqu'on crée des classes personnalisées, JavaScript utilise l'étiquette "Object" par défaut :
-<pre class="brush: js">class ValidatorClass {}
+```js
+class ValidatorClass {}
Object.prototype.toString.call(new ValidatorClass()); // "[object Object]"
-</pre>
+```
-<p>Si on utilise le symbole <code>toStringTag</code> on peut définir une étiquette personnalisée :</p>
+Si on utilise le symbole `toStringTag` on peut définir une étiquette personnalisée :
-<pre class="brush: js">class ValidatorClass {
+```js
+class ValidatorClass {
get [Symbol.toStringTag]() {
return "Validator";
}
}
Object.prototype.toString.call(new ValidatorClass()); // "[object Validator]"
-</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.tostringtag', 'Symbol.toStringTag')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.tostringtag', 'Symbol.toStringTag')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.toStringTag")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.prototype.toString()")}}</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.tostringtag', 'Symbol.toStringTag')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.tostringtag', 'Symbol.toStringTag')}} | {{Spec2('ESDraft')}} |   |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.toStringTag")}}
+
+## Voir aussi
+
+- {{jsxref("Object.prototype.toString()")}}
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/unscopables/index.md b/files/fr/web/javascript/reference/global_objects/symbol/unscopables/index.md
index 4ec9b35407..dcfc3a91e1 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/unscopables/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/unscopables/index.md
@@ -10,27 +10,26 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/unscopables
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/unscopables
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>Le symbole connu <strong><code>Symbol.unscopables</code></strong> est utilisé afin de définir les noms des propriétés propres et héritées qui sont exclues de l'objet lors de l'utilisation de <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/with">with</a></code> sur l'objet en question.</p>
+Le symbole connu **`Symbol.unscopables`** est utilisé afin de définir les noms des propriétés propres et héritées qui sont exclues de l'objet lors de l'utilisation de [`with`](/fr/docs/Web/JavaScript/Reference/Instructions/with) sur l'objet en question.
-<div>{{EmbedInteractiveExample("pages/js/symbol-unscopables.html")}}</div>
+{{EmbedInteractiveExample("pages/js/symbol-unscopables.html")}}
+## Description
+Le symbole `@@unscopables` (`Symbol.unscopables`) peut être défini sur n'importe quel objet afin de ne pas exposer certaines propriétés lors des liaisons lexicales avec [`with`](/fr/docs/Web/JavaScript/Reference/Instructions/with). Note : en mode strict, l'instruction `with` n'est pas disponible et ce symbole est donc probablement moins nécessaire.
-<h2 id="Description">Description</h2>
+En définissant une propriété comme `true` dans un objet `unscopables`, cela exclura la propriété de la portée lexicale. En définissant une propriété comme `false`, celle-ci pourra faire partie de la portée lexicale et être manipulée dans un bloc `with`.
-<p>Le symbole <code>@@unscopables</code> (<code>Symbol.unscopables</code>) peut être défini sur n'importe quel objet afin de ne pas exposer certaines propriétés lors des liaisons lexicales avec <code><a href="/fr/docs/Web/JavaScript/Reference/Instructions/with">with</a></code>. Note : en mode strict, l'instruction <code>with</code> n'est pas disponible et ce symbole est donc probablement moins nécessaire.</p>
+{{js_property_attributes(0,0,0)}}
-<p>En définissant une propriété comme <code>true</code> dans un objet <code>unscopables</code>, cela exclura la propriété de la portée lexicale. En définissant une propriété comme <code>false</code>, celle-ci pourra faire partie de la portée lexicale et être manipulée dans un bloc <code>with</code>.</p>
+## Exemples
-<p>{{js_property_attributes(0,0,0)}}</p>
+Le code qui suit fonctionne bien pour ES5 et les versions antérieures. En revanche, pour ECMAScript 2015 (ES6) et les versions ultérieures où la méthode  {{jsxref("Array.prototype.keys()")}} existe, lorsqu'on utilise un environnement créé avec `with`, `"keys"` serait désormais la méthode et non la variable. C'est là que le symbole natif `@@unscopables` `Array.prototype[@@unscopables]` intervient et empêche d'explorer ces méthodes avec `with`.
-<h2 id="Exemples">Exemples</h2>
-
-<p>Le code qui suit fonctionne bien pour ES5 et les versions antérieures. En revanche, pour ECMAScript 2015 (ES6) et les versions ultérieures où la méthode  {{jsxref("Array.prototype.keys()")}} existe, lorsqu'on utilise un environnement créé avec <code>with</code>, <code>"keys"</code> serait désormais la méthode et non la variable. C'est là que le symbole natif <code>@@unscopables</code> <code>Array.prototype[@@unscopables]</code> intervient et empêche d'explorer ces méthodes avec <code>with</code>.</p>
-
-<pre class="brush: js">var keys = [];
+```js
+var keys = [];
with(Array.prototype) {
keys.push("something");
@@ -38,11 +37,13 @@ with(Array.prototype) {
Object.keys(Array.prototype[Symbol.unscopables]);
// ["copyWithin", "entries", "fill", "find", "findIndex",
-// "includes", "keys", "values"]</pre>
+// "includes", "keys", "values"]
+```
-<p>On peut également manipuler <code>unscopables</code> sur ses propres objets :</p>
+On peut également manipuler `unscopables` sur ses propres objets :
-<pre class="brush: js">var obj = {
+```js
+var obj = {
toto: 1,
truc: 2
};
@@ -56,37 +57,20 @@ with(obj) {
console.log(toto); // 1
console.log(truc); // ReferenceError: truc is not defined
}
-</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.unscopables', 'Symbol.unscopables')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.unscopables', 'Symbol.unscopables')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("javascript.builtins.Symbol.unscopables")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Array.@@unscopables", "Array.prototype[@@unscopables]")}}</li>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Instructions/with">L'instruction <code>with</code></a> (qui n'est pas disponible <a href="/fr/docs/Web/JavaScript/Reference/Strict_mode">en mode strict</a>)</li>
-</ul>
+```
+
+## Spécifications
+
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.unscopables', 'Symbol.unscopables')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.unscopables', 'Symbol.unscopables')}} | {{Spec2('ESDraft')}} |   |
+
+## Compatibilité des navigateurs
+
+{{Compat("javascript.builtins.Symbol.unscopables")}}
+
+## Voir aussi
+
+- {{jsxref("Array.@@unscopables", "Array.prototype[@@unscopables]")}}
+- [L'instruction `with`](/fr/docs/Web/JavaScript/Reference/Instructions/with) (qui n'est pas disponible [en mode strict](/fr/docs/Web/JavaScript/Reference/Strict_mode))
diff --git a/files/fr/web/javascript/reference/global_objects/symbol/valueof/index.md b/files/fr/web/javascript/reference/global_objects/symbol/valueof/index.md
index 48d99785a5..f202db038f 100644
--- a/files/fr/web/javascript/reference/global_objects/symbol/valueof/index.md
+++ b/files/fr/web/javascript/reference/global_objects/symbol/valueof/index.md
@@ -11,53 +11,35 @@ tags:
translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/valueOf
original_slug: Web/JavaScript/Reference/Objets_globaux/Symbol/valueOf
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p>La méthode <code><strong>valueOf()</strong></code> renvoie la valeur primitive correspondant à l'objet <code>Symbol</code>.</p>
+La méthode **`valueOf()`** renvoie la valeur primitive correspondant à l'objet `Symbol`.
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="syntaxbox"><var>Symbol().valueOf();
-</var></pre>
+ Symbol().valueOf();
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>La valeur primitive de l'objet {{jsxref("Symbol")}} indiqué.</p>
+La valeur primitive de l'objet {{jsxref("Symbol")}} indiqué.
-<h2 id="Description">Description</h2>
+## Description
-<p>La méthode <code>valueOf</code> de {{jsxref("Symbol")}} renvoie une valeur dont le type est le type primitif symbole à partir de l'objet <code>Symbol</code> donné.</p>
+La méthode `valueOf` de {{jsxref("Symbol")}} renvoie une valeur dont le type est le type primitif symbole à partir de l'objet `Symbol` donné.
-<p>JavaScript appelle la méthode <code>valueOf</code> afin de convertir l'objet en une valeur primitive. La plupart du temps, il n'est pas nécessaire d'appeler explicitement la méthode <code>valueOf</code>. JavaScript l'appelle automatiquement dans les cas où une valeur primitive est attendue.</p>
+JavaScript appelle la méthode `valueOf` afin de convertir l'objet en une valeur primitive. La plupart du temps, il n'est pas nécessaire d'appeler explicitement la méthode `valueOf`. JavaScript l'appelle automatiquement dans les cas où une valeur primitive est attendue.
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<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.prototype.valueof', 'Symbol.prototype.valueOf')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Définition initiale.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-symbol.prototype.valueof', 'Symbol.prototype.valueOf')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
+| {{SpecName('ES2015', '#sec-symbol.prototype.valueof', 'Symbol.prototype.valueOf')}} | {{Spec2('ES2015')}} | Définition initiale. |
+| {{SpecName('ESDraft', '#sec-symbol.prototype.valueof', 'Symbol.prototype.valueOf')}} | {{Spec2('ESDraft')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("javascript.builtins.Symbol.valueOf")}}</p>
+{{Compat("javascript.builtins.Symbol.valueOf")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Object.prototype.valueOf()")}}</li>
-</ul>
+- {{jsxref("Object.prototype.valueOf()")}}