diff options
| author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
|---|---|---|
| committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
| commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
| tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/weakset | |
| parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
| download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip | |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/weakset')
4 files changed, 149 insertions, 226 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/weakset/add/index.md b/files/fr/web/javascript/reference/global_objects/weakset/add/index.md index dea306520c..d4a6d7e8da 100644 --- a/files/fr/web/javascript/reference/global_objects/weakset/add/index.md +++ b/files/fr/web/javascript/reference/global_objects/weakset/add/index.md @@ -11,30 +11,29 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet/add original_slug: Web/JavaScript/Reference/Objets_globaux/WeakSet/add --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>add()</strong></code> permet d'ajouter un nouvel objet à un objet <code>WeakSet</code>.</p> +La méthode **`add()`** permet d'ajouter un nouvel objet à un objet `WeakSet`. -<div>{{EmbedInteractiveExample("pages/js/weakset-prototype-add.html", "taller")}}</div> +{{EmbedInteractiveExample("pages/js/weakset-prototype-add.html", "taller")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>ws</var>.add(<var>valeur</var>);</pre> + ws.add(valeur); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. Il correspond à l'objet qu'on souhaite ajouter à l'ensemble<code> WeakSet</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. Il correspond à l'objet qu'on souhaite ajouter à l'ensemble` WeakSet`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>L'objet {{jsxref("WeakSet")}}.</p> +L'objet {{jsxref("WeakSet")}}. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var ws = new WeakSet(); +```js +var ws = new WeakSet(); ws.add(window); // on ajouter l'objet window à l'objet WeakSet @@ -42,40 +41,23 @@ ws.has(window); // tru // WeakSet ne peut contenir que des objets ws.add(1); -// TypeError: Invalid value used in weak set -> Chrome -// TypeError: 1 is not a non-null obect -> Firefox -</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-weakset.prototype.add', 'WeakSet.prototype.add')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-weakset.prototype.add', 'WeakSet.prototype.add')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WeakSet.add")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("WeakSet")}}</li> - <li>{{jsxref("WeakSet.prototype.delete()")}}</li> - <li>{{jsxref("WeakSet.prototype.has()")}}</li> -</ul> +// TypeError: Invalid value used in weak set -> Chrome +// TypeError: 1 is not a non-null obect -> Firefox +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-weakset.prototype.add', 'WeakSet.prototype.add')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-weakset.prototype.add', 'WeakSet.prototype.add')}} | {{Spec2('ESDraft')}} |  | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WeakSet.add")}} + +## Voir aussi + +- {{jsxref("WeakSet")}} +- {{jsxref("WeakSet.prototype.delete()")}} +- {{jsxref("WeakSet.prototype.has()")}} diff --git a/files/fr/web/javascript/reference/global_objects/weakset/delete/index.md b/files/fr/web/javascript/reference/global_objects/weakset/delete/index.md index 0acea3aeee..05a92dcddc 100644 --- a/files/fr/web/javascript/reference/global_objects/weakset/delete/index.md +++ b/files/fr/web/javascript/reference/global_objects/weakset/delete/index.md @@ -11,30 +11,29 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet/delete original_slug: Web/JavaScript/Reference/Objets_globaux/WeakSet/delete --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>delete()</strong></code> permet de retirer un élément donné d'un objet <code>WeakSet</code>.</p> +La méthode **`delete()`** permet de retirer un élément donné d'un objet `WeakSet`. -<div>{{EmbedInteractiveExample("pages/js/weakset-prototype-delete.html")}}</div> +{{EmbedInteractiveExample("pages/js/weakset-prototype-delete.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>ws</var>.delete(<var>valeur</var>);</pre> + ws.delete(valeur); -<h3 id="Paramètre">Paramètre</h3> +### Paramètre -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. Il correspond à l'objet qu'on souhaite retirer de l'ensemble <code>WeakSet</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. Il correspond à l'objet qu'on souhaite retirer de l'ensemble `WeakSet`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p><code>true</code> si un élément de l'objet <code>WeakSet</code> a bien été retiré, <code>false</code> sinon (dans le cas où la clé n'a pas été trouvée ou si la clé n'est pas un objet).</p> +`true` si un élément de l'objet `WeakSet` a bien été retiré, `false` sinon (dans le cas où la clé n'a pas été trouvée ou si la clé n'est pas un objet). -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var ws = new WeakSet(); +```js +var ws = new WeakSet(); var obj = {}; ws.add(window); @@ -43,37 +42,20 @@ ws.delete(obj); // Renvoie false. Aucun objet obj n'a été trouvé ni retirà ws.delete(window); // Renvoie true, l'objet window a pu être retiré. ws.has(window); // Renvoie false, window n'appartient plus au WeakSet. -</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-weakset.prototype.delete', 'WeakSet.prototype.delete')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-weakset.prototype.delete', 'WeakSet.prototype.delete')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WeakSet.delete")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("WeakSet")}}</li> - <li>{{jsxref("WeakSet.prototype.clear()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-weakset.prototype.delete', 'WeakSet.prototype.delete')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-weakset.prototype.delete', 'WeakSet.prototype.delete')}} | {{Spec2('ESDraft')}} |  | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WeakSet.delete")}} + +## Voir aussi + +- {{jsxref("WeakSet")}} +- {{jsxref("WeakSet.prototype.clear()")}} diff --git a/files/fr/web/javascript/reference/global_objects/weakset/has/index.md b/files/fr/web/javascript/reference/global_objects/weakset/has/index.md index 4b1e5ddf92..92a8ffa9af 100644 --- a/files/fr/web/javascript/reference/global_objects/weakset/has/index.md +++ b/files/fr/web/javascript/reference/global_objects/weakset/has/index.md @@ -11,70 +11,50 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet/has original_slug: Web/JavaScript/Reference/Objets_globaux/WeakSet/has --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>has()</strong></code> renvoie un booléen indiquant si un objet donné est contenu dans l'ensemble<code> WeakSet</code>.</p> +La méthode **`has()`** renvoie un booléen indiquant si un objet donné est contenu dans l'ensemble` WeakSet`. -<div>{{EmbedInteractiveExample("pages/js/weakset-prototype-has.html")}}</div> +{{EmbedInteractiveExample("pages/js/weakset-prototype-has.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>ws</var>.has(<var>valeur</var>);</pre> + ws.has(valeur); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. Il représente l'objet dont on souhaite savoir s'il est, ou non, présent dans l'objet <code>WeakSet</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. Il représente l'objet dont on souhaite savoir s'il est, ou non, présent dans l'objet `WeakSet`. -<h3 id="Valeur_renvoyée">Valeur renvoyée</h3> +### Valeur renvoyée -<dl> - <dt>Booléen</dt> - <dd>La méthode renvoie <code>true</code> si l'objet <code>WeakSet </code>contient bien un élément avec la valeur donnée, <code>false </code>sinon.</dd> -</dl> +- Booléen + - : La méthode renvoie `true` si l'objet `WeakSet `contient bien un élément avec la valeur donnée, `false `sinon. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var ws = new WeakSet(); +```js +var ws = new WeakSet(); var obj = {}; ws.add(window); mySet.has(window); // renvoie true mySet.has(obj); // renvoie 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-weakset.prototype.has', 'WeakSet.prototype.has')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-weakset.prototype.has', 'WeakSet.prototype.has')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WeakSet.has")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("WeakSet")}}</li> - <li>{{jsxref("WeakSet.prototype.add()")}}</li> - <li>{{jsxref("WeakSet.prototype.delete()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-weakset.prototype.has', 'WeakSet.prototype.has')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-weakset.prototype.has', 'WeakSet.prototype.has')}} | {{Spec2('ESDraft')}} |  | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WeakSet.has")}} + +## Voir aussi + +- {{jsxref("WeakSet")}} +- {{jsxref("WeakSet.prototype.add()")}} +- {{jsxref("WeakSet.prototype.delete()")}} diff --git a/files/fr/web/javascript/reference/global_objects/weakset/index.md b/files/fr/web/javascript/reference/global_objects/weakset/index.md index d9709e78fd..3d4e82650c 100644 --- a/files/fr/web/javascript/reference/global_objects/weakset/index.md +++ b/files/fr/web/javascript/reference/global_objects/weakset/index.md @@ -9,24 +9,23 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet original_slug: Web/JavaScript/Reference/Objets_globaux/WeakSet --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>L'objet <strong><code>WeakSet</code></strong> permet de créer un ensemble dont les objets sont contenus avec des références <em>faibles</em>.</p> +L'objet **`WeakSet`** permet de créer un ensemble dont les objets sont contenus avec des références _faibles_. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">new WeakSet([<var>itérable</var>]);</pre> + new WeakSet([itérable]); -<h3 id="Paramètre">Paramètre</h3> +### Paramètre -<dl> - <dt><code>itérable</code></dt> - <dd>Si un <a href="/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration#Le_protocole_.C2.AB_it.C3.A9rable_.C2.BB">objet itérable</a> est présent comme argument, ses éléments seront ajoutés au nouvel objet <code>WeakSet</code>. {{jsxref("null")}} est traité comme {{jsxref("undefined")}}.</dd> -</dl> +- `itérable` + - : Si un [objet itérable](/fr/docs/Web/JavaScript/Reference/Les_protocoles_iteration#Le_protocole_.C2.AB_it.C3.A9rable_.C2.BB) est présent comme argument, ses éléments seront ajoutés au nouvel objet `WeakSet`. {{jsxref("null")}} est traité comme {{jsxref("undefined")}}. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var ws = new WeakSet(); +```js +var ws = new WeakSet(); var toto = {}; var truc = {}; @@ -38,49 +37,46 @@ ws.has(truc); // true ws.delete(toto); // retire toto de l'ensemble ws.has(toto); // false, toto a été enlevé -</pre> +``` -<p>On notera que <code>toto !== truc</code>. Bien que ce soient des objets similaires, ce ne sont pas les mêmes objets. Aussi, les deux sont ajoutés à l'ensemble.</p> +On notera que `toto !== truc`. Bien que ce soient des objets similaires, ce ne sont pas les mêmes objets. Aussi, les deux sont ajoutés à l'ensemble. -<h2 id="Description">Description</h2> +## Description -<p>Les <code>WeakSet</code> sont des ensembles d'objets. Un objet présent dans un objet <code>WeakSet</code> ne peut apparaître qu'une seule fois, il est unique pour un <code>WeakSet</code> donné.</p> +Les `WeakSet` sont des ensembles d'objets. Un objet présent dans un objet `WeakSet` ne peut apparaître qu'une seule fois, il est unique pour un `WeakSet` donné. -<p>Les principales différences avec l'objet {{jsxref("Set")}} sont les suivantes :</p> +Les principales différences avec l'objet {{jsxref("Set")}} sont les suivantes : -<ul> - <li>Contrairement aux <code>Sets</code>, les <code>WeakSets</code> sont des <strong>ensembles uniquement constitués d'objets </strong>et ne peuvent pas contenir des valeurs de n'importe quel type.</li> - <li>L'objet <code>WeakSet</code> est <em>faible :</em> Les références vers les objets de l'ensemble sont des références faibles. Si aucune autre référence vers l'objet n'est présente en dehors du <code>WeakSet</code>, l'objet pourra alors être nettoyé par le ramasse-miette. Cela signifie également qu'on ne peut pas lister les objets contenus à un instant donné dans l'ensemble. Les objets <code>WeakSets</code> ne sont pas énumérables.</li> -</ul> +- Contrairement aux `Sets`, les `WeakSets` sont des **ensembles uniquement constitués d'objets** et ne peuvent pas contenir des valeurs de n'importe quel type. +- L'objet `WeakSet` est _faible :_ Les références vers les objets de l'ensemble sont des références faibles. Si aucune autre référence vers l'objet n'est présente en dehors du `WeakSet`, l'objet pourra alors être nettoyé par le ramasse-miette. Cela signifie également qu'on ne peut pas lister les objets contenus à un instant donné dans l'ensemble. Les objets `WeakSets` ne sont pas énumérables. -<h2 id="Propriétés">Propriétés</h2> +## Propriétés -<dl> - <dt><code>WeakSet.length</code></dt> - <dd>La valeur de la propriété <code>length</code> est 0.</dd> - <dt>{{jsxref("WeakSet.prototype")}}</dt> - <dd>Cette propriété représente le prototype pour le constructeur <code>WeakSet</code>. Il permet d'ajouter des propriétés pour tous les objets <code>WeakSet</code>.</dd> -</dl> +- `WeakSet.length` + - : La valeur de la propriété `length` est 0. +- {{jsxref("WeakSet.prototype")}} + - : Cette propriété représente le prototype pour le constructeur `WeakSet`. Il permet d'ajouter des propriétés pour tous les objets `WeakSet`. -<h2 id="Instances_de_WeakSet">Instances de <code>WeakSet</code></h2> +## Instances de `WeakSet` -<p>Toutes les instances de <code>WeakSet</code> héritent de {{jsxref("WeakSet.prototype")}}.</p> +Toutes les instances de `WeakSet` héritent de {{jsxref("WeakSet.prototype")}}. -<h3 id="Propriétés_2">Propriétés</h3> +### Propriétés -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/WeakSet/prototype','Propri.C3.A9t.C3.A9s')}}</p> +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/WeakSet/prototype','Propri.C3.A9t.C3.A9s')}} -<h3 id="Méthodes">Méthodes</h3> +### Méthodes -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/WeakSet/prototype','M.C3.A9thodes')}}</p> +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/WeakSet/prototype','M.C3.A9thodes')}} -<h2 id="Exemples_2">Exemples</h2> +## Exemples -<h3 id="Détecter_les_références_circulaires">Détecter les références circulaires</h3> +### Détecter les références circulaires -<p>Les fonctions récursives doivent faire attention aux structures de données circulaire qu'elles consommeraient. Les objets <code>WeakSets</code> peuvent être utilisé pour ça :</p> +Les fonctions récursives doivent faire attention aux structures de données circulaire qu'elles consommeraient. Les objets `WeakSets` peuvent être utilisé pour ça : -<pre class="brush: js">// Appeler un callback sur ce qui est stocké dans un objet +```js +// Appeler un callback sur ce qui est stocké dans un objet function execRecursively(fn, subject, _refs = null){ if(!_refs) _refs = new WeakSet(); @@ -105,41 +101,24 @@ const toto = { }; toto.truc.machin = toto; // Référence circulaire ! -execRecursively(obj => console.log(obj), toto); -</pre> - -<p>Ici, on a un objet <code>WeakSet</code> qui est créé lors de la première exécution et qui est passé ensuite à chaque appel qui suit (via l'argument interne <code>_refs</code>). Le nombre d'objets ou l'ordre de parcours n'a pas d'importance et un objet <code>WeakSet</code> est donc plus adapté (y compris en termes de performances) qu'un {{jsxref("Set")}}, notamment si un grand nombre d'objets sont concernés.</p> - -<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-weakset-objects', 'WeakSet')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-weakset-objects', 'WeakSet')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WeakSet")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Map")}}</li> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("WeakMap")}}</li> -</ul> +execRecursively(obj => console.log(obj), toto); +``` + +Ici, on a un objet `WeakSet` qui est créé lors de la première exécution et qui est passé ensuite à chaque appel qui suit (via l'argument interne `_refs`). Le nombre d'objets ou l'ordre de parcours n'a pas d'importance et un objet `WeakSet` est donc plus adapté (y compris en termes de performances) qu'un {{jsxref("Set")}}, notamment si un grand nombre d'objets sont concernés. + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-weakset-objects', 'WeakSet')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-weakset-objects', 'WeakSet')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WeakSet")}} + +## Voir aussi + +- {{jsxref("Map")}} +- {{jsxref("Set")}} +- {{jsxref("WeakMap")}} |
