aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/fr/web/javascript/reference
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/fr/web/javascript/reference')
-rw-r--r--files/fr/web/javascript/reference/fonctions/arguments/caller/index.html54
-rw-r--r--files/fr/web/javascript/reference/instructions/for_each...in/index.html80
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/array/observe/index.html90
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/array/unobserve/index.html89
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/arraybuffer/transfer/index.html100
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/date/tolocaleformat/index.html80
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/function/arity/index.html32
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/function/isgenerator/index.html53
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/number/tointeger/index.html56
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/count/index.html42
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/eval/index.html47
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/getnotifier/index.html53
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/nosuchmethod/index.html76
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/observe/index.html154
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/parent/index.html42
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html103
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/unwatch/index.html70
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/object/watch/index.html150
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/parallelarray/index.html56
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/stopiteration/index.html115
-rw-r--r--files/fr/web/javascript/reference/objets_globaux/string/quote/index.html72
-rw-r--r--files/fr/web/javascript/reference/opérateurs/compréhensions_de_générateur/index.html183
-rw-r--r--files/fr/web/javascript/reference/opérateurs/compréhensions_de_tableau/index.html209
-rw-r--r--files/fr/web/javascript/reference/opérateurs/expression_closures/index.html85
24 files changed, 0 insertions, 2091 deletions
diff --git a/files/fr/web/javascript/reference/fonctions/arguments/caller/index.html b/files/fr/web/javascript/reference/fonctions/arguments/caller/index.html
deleted file mode 100644
index 0a6660cab2..0000000000
--- a/files/fr/web/javascript/reference/fonctions/arguments/caller/index.html
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: caller
-slug: Web/JavaScript/Reference/Fonctions/arguments/caller
-tags:
- - Functions
- - JavaScript
- - Obsolete
- - Propriété
- - Reference
- - arguments
-translation_of: Archive/Web/JavaScript/arguments.caller
----
-<div>{{jsSidebar("Functions")}}{{obsolete_header}}</div>
-
-<div>La propriété obsolète <strong><code>arguments.caller</code></strong> était utilisée afin de fournir la fonction ayant appelée la fonction en cours d'exécution. Cette propriété a été retirée et ne fonctione plus.</div>
-
-<h2 id="Description">Description</h2>
-
-<p>Cette propriété n'est plus disponible. Vous pouvez en revanche utiliser {{jsxref("Function.caller")}}.</p>
-
-<pre class="brush: js">function quiAppelle() {
- if (quiAppelle.caller == null)
- console.log('Appel depuis la portée globale.');
- else
- console.log(quiAppelle.caller + ' a appelé !');
-}</pre>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Le code suivant pouvait être utilisé pour connaître la valeur de <code>arguments.caller</code> dans une fonction. La propriété étant obsolète, le code ne fonctionne plus.</p>
-
-<pre class="brush: js example-bad">function quiAppelle() {
- if (arguments.caller == null)
- console.log('Appel depuis la portée globale.');
- else
- console.log(arguments.caller + ' a appelé !');
-}
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette propriété ne fait partie d'aucun standard. Elle fut implémentée avec JavaScript 1.1 et retirée avec le {{bug(7224)}} en raisons d'éventuelles vulnérabilités.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.functions.arguments.caller")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Function")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/instructions/for_each...in/index.html b/files/fr/web/javascript/reference/instructions/for_each...in/index.html
deleted file mode 100644
index 103651bc31..0000000000
--- a/files/fr/web/javascript/reference/instructions/for_each...in/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: for each...in
-slug: Web/JavaScript/Reference/Instructions/for_each...in
-tags:
- - Déprécié
- - E4X
- - Instruction
- - JavaScript
- - Reference
-translation_of: Archive/Web/JavaScript/for_each...in
----
-<div>{{JsSidebar("Statements")}}{{deprecated_header}}</div>
-
-<div class="warning">
-<p>L'instruction for each...in est dépréciée car elle appartient au standard ECMA-357 (<a href="/fr/docs/E4X">E4X</a>). E4X sera désactivé par défaut puis retiré à l'avenir. Il faut désormais utiliser l'instruction {{jsxref("Instructions/for...of","for...of")}}. (Voir {{ bug("791343")}}.)<br>
- <strong>Firefox lance désormais des avertissements lorsque des boucles <code>for each...in</code> et cette instruction a été retirée du canal <em>Nightly</em>.<br>
- Veuillez consulter <a href="/fr/docs/Web/JavaScript/Reference/Erreurs/For-each-in_loops_are_deprecated">l'article sur cet avertissement pour des indications</a> quant aux solutions de migration.</strong></p>
-</div>
-
-<p>L'instruction <strong><code>for each...in</code></strong> itère une variable donnée sur toutes les propriétés d'un objet. Pour chaque propriété distincte, une instruction spécifique est exécutée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">for each (<var>variable</var> in <var>objet</var>) {
- <var>instruction</var>
-}</pre>
-
-<dl>
- <dt><code>variable</code></dt>
- <dd>Une variable à itérer sur les valeurs des propriétés, elle peut être déclarée avec le mot-clé {{jsxref("Instructions/var","var")}}. Cette variable est locale à la fonction et non à la boucle.</dd>
-</dl>
-
-<dl>
- <dt><code>objet</code></dt>
- <dd>L'objet pour lequel les propriétés sont itérées.</dd>
-</dl>
-
-<dl>
- <dt><code>instruction</code></dt>
- <dd>Une instruction à exécuter pour chaque propriétés. Pour effectuer plusieurs instructions au sein de la boucle, il faut utiliser une instruction de {{jsxref("Instructions/block","bloc","",1)}} (<code>{ ... }</code>) pour regrouper les instructions.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>L'itération ne s'effectue que sur les propriétés spécifiques, définies par l'utilisateur. Elle ne s'effectuera pas sur les propriétés implicites déjà intégrées comme les méthodes objet telles que la méthode <code>indexOf</code> des chaînes de caractères.</p>
-
-<h2 id="Exemple">Exemple</h2>
-
-<h3 id="Utiliser_for_each...in">Utiliser <code>for each...in</code></h3>
-
-<p><strong>Attention :</strong> Ne jamais utiliser cette boucle sur un tableau. Ne l'utiliser que pour les objets. (Voir des détails sur la page de l'instruction {{jsxref("Instructions/for...in")}}).</p>
-
-<p>Le fragment de code parcourt les propriétés d'un objet et en calcule leur somme.</p>
-
-<pre class="brush:js">var somme = 0;
-var obj = {prop1: 5, prop2: 13, prop3: 8};
-
-for each (var item in obj) {
- somme += item;
-}
-
-console.log(somme); // affiche "26", ce qui correspond à 5+13+8</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette instruction ne fait partie d'aucune spécification ECMA-262. Elle a été implémentée avec JavaScript 1.6 et est dépréciée.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.statements.for_each_in")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Instructions/for...in","for...in")}} : une instruction similaire permettant d'itérer sur les noms des propriétés.</li>
- <li>{{jsxref("Instructions/for...of","for...of")}} : une instruction similaire qui permet d'itérer sur les valeurs des propriétés mais dont le comportement est différent de <code>for each...in</code>. Cette instruction ne s'utilise que pour les types itérables.</li>
- <li>{{jsxref("Instructions/for","for")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/array/observe/index.html b/files/fr/web/javascript/reference/objets_globaux/array/observe/index.html
deleted file mode 100644
index ea02585a28..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/array/observe/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Array.observe()
-slug: Web/JavaScript/Reference/Objets_globaux/Array/observe
-tags:
- - Array
- - JavaScript
- - Méthode
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Array.observe
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>La méthode <strong><code>Array.observe()</code></strong> est utilisée afin d'observer les modifications apportées à un tableau de façon asynchrone. Elle fonctionne de la même façon que la méthode {{jsxref("Object.observe()")}} pour les objets. Cette méthode fournit un flux de changements, triés dans l'ordre dans lequel ils se sont produits. Utiliser cette méthode est équivalent à appeler {{jsxref("Object.observe()")}} avec la liste <code>["add", "update", "delete", "splice"]</code> comme troisième argument. Toutefois, cette API a été dépréciée et retirée des navigateurs. Il est préférable d'utiliser l'objet {{jsxref("Proxy")}}, plus générique, à la place.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">Array.observe(<var>arr</var>, <var>callback</var>)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>Le tableau qu'on souhaite observer.</dd>
- <dt><code>callback</code></dt>
- <dd>La fonction à appeler à chaque fois que des changements sont effectués. Cette fonction est appelée avec l'argument suivant :
- <dl>
- <dt><code>changes</code></dt>
- <dd>Un tableau d'objets représentant chacun une modification. Les propriétés de ces objets sont :
- <ul>
- <li><strong><code>name</code></strong> : Le nom de la propriété qui a été modifiée.</li>
- <li><strong><code>object</code></strong> : Le tableau modifié (une fois que la modification a été effectuée).</li>
- <li><strong><code>type</code></strong> : Une chaîne de caractères indiquant le type de modification qui a eu lieu. Elle peut valoir <code>"add"</code> (pour ajout), <code>"update"</code> (pour modification), <code>"delete"</code>(pour suppression) ou <code>"splice"</code> (pour découpage).</li>
- <li><strong><code>oldValue</code></strong> : Propriété présente uniquement lorsque le type vaut <code>"update"</code> ou <code>"delete"</code>. La valeur de la propriété est la valeur avant qu'elle ait été modifiée.</li>
- <li><strong><code>index</code></strong> : Propriété présente uniquement lorsque le type vaut <code>"splice"</code>. L'index auquel la modification a eu lieu.</li>
- <li><strong><code>removed </code></strong>: Propriété présente uniquement lorsque le type vaut <code>"splice"</code>. Le tableau des éléments supprimés.</li>
- <li><strong><code>addedCount</code></strong> : Propriété uniquement présente lorsque le type vaut <code>"splice"</code>. Le nombre d'éléments ajoutés.</li>
- </ul>
- </dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>La fonction <code>callback</code> est appelée à chaque fois qu'un changement est apporté à <code>arr</code>, elle est appelée avec un argument qui est un tableau contenant tous les changements qui se sont produits, dans l'ordre dans lequel ils se sont produits. </p>
-
-<div class="note">
-<p>Les modifications apportées avec les méthodes d'Array, comme <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/pop"><code>Array.prototype.pop()</code></a>, seront enregistrées avec le type <code>"splice"</code>. Les modifications d'éléments qui ne modifient pas la longueur du tableau sont enregistrés en tant qu'<code>update"</code>.</p>
-</div>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Enregistrer_les_différents_types_de_modifications">Enregistrer les différents types de modifications</h3>
-
-<pre class="brush: js">var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
- console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: &lt;arr&gt;, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: &lt;arr&gt;, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: &lt;arr&gt;, index: 1, removed: ['B', 'c'], addedCount: 3}]
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Proposition de spécification (<em>Strawman proposal</em>)</a> (en anglais).</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une<em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Array.observe")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li><a href="https://stackoverflow.com/q/29269057/778272">Sous quelles conditions, Array.observe déclenche un événement « add » ?</a></li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/array/unobserve/index.html b/files/fr/web/javascript/reference/objets_globaux/array/unobserve/index.html
deleted file mode 100644
index bb32557e28..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/array/unobserve/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: Array.unobserve()
-slug: Web/JavaScript/Reference/Objets_globaux/Array/unobserve
-tags:
- - Array
- - JavaScript
- - Méthode
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Array.unobserve
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>La méthode <code>Array<strong>.unobserve()</strong></code> est utilisée pour retirer les observateurs placés grâce à {{jsxref("Array.observe()")}}. Cette API a été dépréciée et retirée des navigateurs. À la place, il est préférable d'utiliser l'objet {{jsxref("Proxy")}}, plus générique.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><code>Array.unobserve(<var>arr</var>, <var>callback</var>)</code></pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>arr</code></dt>
- <dd>Le tableau qu'on souhaite arrêter d'observer.</dd>
- <dt><code>callback</code></dt>
- <dd>La référence à l'observateur dont on souhaite qu'il arrête d'être appelé à chaque changement apporté au tableau <strong>arr</strong>.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p><code>Array.unobserve()</code> doit être appelé après {{jsxref("Array.observe()")}} afin de retirer un observateur du tableau.</p>
-
-<p>La fonction de rappel (<em>callback</em>) utilisée doit être une référence à une fonction et non une fonction anonyme car c'est cette référence qui sera utilisée pour retrouver l'observateur. Ça ne sert à rien d'appeler <strong>Array.unobserve()</strong> avec une fonction anonyme comme paramètre de callback, cela ne retirera aucun observateur.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Arrêter_d'observer_un_tableau">Arrêter d'observer un tableau</h3>
-
-<pre class="brush: js">var arr = [1, 2, 3];
-
-var observateur = function(changements) {
-  console.log(changements);
-}
-
-Array.observe(arr, observateur);
-​
-arr.push(4);
-// [{type: "splice", object: &lt;arr&gt;, index: 3, removed:[], addedCount: 1}]
-
-Array.unobserve(arr, observateur);
-
-arr.pop();
-// Le callback n'a pas été appelé</pre>
-
-<h3 id="Utiliser_une_fonction_anonyme">Utiliser une fonction anonyme</h3>
-
-<pre class="brush: js">var personnes = ['Khalid', 'Ahmed', 'Mohammed'];
-
-Array.observe(personnes, function (changements) {
-  console.log(changements);
-});
-
-personnes.shift();
-// [{type: "splice", object: &lt;arr&gt;, index: 0, removed: [ "Khalid" ], addedCount: 0 }]
-
-Array.unobserve(personnes, function (changements) {
-  console.log(changements);
-});
-
-personnes.push('Abdullah');
-// [{type: "splice", object: &lt;arr&gt;, index: 2, removed: [], addedCount: 1 }]
-// Le callback est toujours appelé
-</pre>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une<em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Array.unobserve")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/arraybuffer/transfer/index.html b/files/fr/web/javascript/reference/objets_globaux/arraybuffer/transfer/index.html
deleted file mode 100644
index 0d13e6aa38..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/arraybuffer/transfer/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: ArrayBuffer.transfer()
-slug: Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/transfer
-tags:
- - ArrayBuffer
- - Experimental
- - JavaScript
- - Méthode
- - Reference
- - TypedArrays
- - polyfill
-translation_of: Archive/Web/JavaScript/ArrayBuffer.transfer
----
-<div>{{JSRef}}{{SeeCompatTable}}</div>
-
-<p>La méthode statique <code><strong>ArrayBuffer.transfer()</strong></code> renvoie un nouvel objet <code>ArrayBuffer</code> dont le contenu a été transféré depuis les données d'<code>ancienBuffer</code> et qui est soit tronqué soit complété avec des zéros pour que la longueur du nouvel objet soit égale à <code>nouvelleLongueur</code>. Si <code>nouvelleLongueur</code> vaut <code>undefined</code>, on utilisera la propriété <code>byteLength</code> de l'<code>ancienBuffer</code>. Cette opération fait que <code>ancienBuffer</code> sera dans un état détaché.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">ArrayBuffer.transfer(ancienBuffer [, nouvelleLongueur]);</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>ancienBuffer</code></dt>
- <dd>Un objet {{jsxref("ArrayBuffer")}} à partir duquel on souhaite transférer des données.</dd>
- <dt><code>nouvelleLongueur</code></dt>
- <dd>La longueur, exprimée en octets, du nouvel objet <code>ArrayBuffer</code>.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Un nouvel objet <code>ArrayBuffer</code>.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>La méthode <code>ArrayBuffer.transfer()</code> permet d'agrandir et de détacher des objets <code>ArrayBuffer</code>. Le fait de pouvoir agrandir un <code>ArrayBuffer</code> sans effectuer de copie permet d'être beaucoup plus efficace sur les grands buffers (comme pour <code>realloc</code>). Le fait de pouvoir détacher un <code>ArrayBuffer</code> permet au développeur d'avoir un contrôle explicite sur la mémoire sous-jacente et sa libération. Cela permet d'éviter d'avoir à libérer toutes les références et d'attendre le travail du ramasse-miettes.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">var buf1 = new ArrayBuffer(40);
-new Int32Array(buf1)[0] = 42;
-
-var buf2 = ArrayBuffer.transfer(buf1, 80);
-buf1.byteLength; // 0 (attention, avec la prothèse, la valeur sera toujours 40)
-buf2.byteLength; // 80
-new Int32Array(buf2)[0]; // 42
-
-var buf3 = ArrayBuffer.transfer(buf2, 0);
-buf2.byteLength; // 0 (attention, avec la prothèse, la valeur sera toujours 80)
-buf3.byteLength; // 0
-</pre>
-
-<h2 id="Prothèse_d'émulation_(polyfill)">Prothèse d'émulation (<em>polyfill</em>)</h2>
-
-<p>Ce fragment de code permet d'obtenir la plupart des fonctionnalités de <code>transfer()</code> dans un environnement qui ne le prend pas en charge nativement. Attention, cela ne correspond pas exactement à l'API mais permet de transférer des données d'un <code>ArrayBuffer</code> vers un autre.</p>
-
-<pre class="brush: js">if (!ArrayBuffer.transfer) {
- ArrayBuffer.transfer = function(source, length) {
- if (!(source instanceof ArrayBuffer))
- throw new TypeError('Source must be an instance of ArrayBuffer');
- if (length &lt;= source.byteLength)
- return source.slice(0, length);
- var sourceView = new Uint8Array(source),
- destView = new Uint8Array(new ArrayBuffer(length));
- destView.set(sourceView);
- return dest.buffer;
- };
-}</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><a href="https://github.com/domenic/proposal-arraybuffer-transfer/#arraybufferprototypetransfer">Proposition pour <code>ArrayBuffer.prototype.transfer</code></a></td>
- <td>Brouillon</td>
- <td>Brouillon de niveau 2</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.builtins.ArrayBuffer.transfer")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Tableaux_typ%C3%A9s">Les tableaux typés en JavaScript</a></li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/date/tolocaleformat/index.html b/files/fr/web/javascript/reference/objets_globaux/date/tolocaleformat/index.html
deleted file mode 100644
index 70c13e3a25..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/date/tolocaleformat/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Date.prototype.toLocaleFormat()
-slug: Web/JavaScript/Reference/Objets_globaux/Date/toLocaleFormat
-tags:
- - Date
- - JavaScript
- - Méthode
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Date.toLocaleFormat
----
-<div>{{JSRef}} {{Non-standard_header}}</div>
-
-<p>La méthode non-standard <strong><code>toLocaleFormat()</code></strong> convertit une date en une chaîne de caractères, en utilisant le formatage renseigné. {{jsxref("DateTimeFormat")}} est une alternative standardisée. Voir aussi la nouvelle version de {{jsxref("Date.prototype.toLocaleDateString()")}}.</p>
-
-<div class="warning">
-<p><strong>Attention</strong>, <strong>cette fonction a été  retirée à partir de Firefox 58</strong>. Voir <a href="/fr/docs/Web/JavaScript/Reference/Errors/Deprecated_toLocaleFormat">l'article sur cet avertissement</a> pour plus d'informations et d'éléments pour migrer le code concerné.</p>
-</div>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>dateObj</var>.toLocaleFormat(formatTexte)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>formatTexte</code></dt>
- <dd>Une chaîne de caractères formattée selon les attentes de la fonction <code><a class="external" href="https://www.opengroup.org/onlinepubs/007908799/xsh/strftime.html">strftime()</a></code> en C.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Une chaîne de caractères qui représente la date indiquée avec le formatage décrit par l'argument.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>La méthode <code>toLocaleFormat()</code> apporte un meilleur contrôle sur le formattage des textes produits pour une date. Les noms des mois et des jours de la semaine sont localisés en utilisant la locale du système d'exploitation. Cependant, l'arrangement des jours et mois, ainsi que les autres tâches de localisation ne sont pas prises en charge automatiquement, puisque vous avez le contrôle sur leur ordre d'éxécution. Vous devez faire attention que la chaîne formattée soit localisée correctement en fonction des réglages du systèmes de l'utilisateur. N'oubliez pas que la locale utilisée n'est pas forcément la même que la locale du navigateur.</p>
-
-<p>Les développeurs de modules et XULRunner doivent savoir que charger directement le chaîne de formattage depuis un fichier <code>.dtd</code> ou <code>.properties</code> en utilisant <code><a class="external" rel="freelink">chrome://</a><em>somedomain</em>/locale/</code><em><code>somefile.ext</code></em> doit être <strong>évité</strong>, car le fichier <code>dtd</code>/<code>properties</code> et la méthode <code>toLocaleFormat()</code> n'utilisent pas forcément la même locale, ce qui peut produire des résultats ambigües, ou des dates illisibles.</p>
-
-<p>Notez aussi que le comportement de la locale utilisée dépend de la plateforme, et que l'utilisateur peut modifier cette locale. Ainsi, utiliser la locale du système pour choisir le format, peut dans certains cas ne pas être approprié. Vous devriez envisager l'usage des méthodes plus génériques <code>toLocale*</code> de l'objet {{jsxref("Date")}}, ou créer votre localisation personnalisée de la date à partir des méthodes <code>get*</code> de l'objet <code>Date</code>.</p>
-
-<h2 id="Utiliser_toLocaleFormat()">Utiliser <code>toLocaleFormat()</code></h2>
-
-<pre class="brush: js example-bad">var aujourdhui = new Date();
-var date = aujourdhui.toLocaleFormat("%A, %B %e, %Y"); // A ne pas faire
-</pre>
-
-<p>Dans cet exemple, <code>toLocaleFormat()</code> renvoie une chaîne de caractères tel que "Wednesday, October 3, 2007". Notez que le format de ce texte dans cet exemple n'est pas correctement localisé, ce qui amène aux problèmes décrits plus haut.</p>
-
-<h2 id="Prothèse_d'émulation_(polyfill)">Prothèse d'émulation (<em>polyfill</em>)</h2>
-
-<p>En utilisant la bibliothèque <a href="https://github.com/abritinthebay/datejs/wiki/Format-Specifiers">DateJS</a>, il est possible d'émuler {{jsxref("Date.prototype.toLocaleDateString()")}} pour des environnements qui n'en disposent pas nativement :</p>
-
-<pre class="brush: js">if (!Date.prototype.toLocaleFormat) {
- (function() {
- Date.prototype.toLocaleFormat = function(formatString) {
- return this.format(formatString);
- };
- }());
-}</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Ne fait partie d'aucune spécification. Implémentée avec JavaScript 1.6.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p>
-
-<p>{{Compat("javascript.builtins.Date.toLocaleFormat")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleString()")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li>
- <li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/function/arity/index.html b/files/fr/web/javascript/reference/objets_globaux/function/arity/index.html
deleted file mode 100644
index 9245cd83ab..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/function/arity/index.html
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Function.arity
-slug: Web/JavaScript/Reference/Objets_globaux/Function/arity
-tags:
- - Function
- - JavaScript
- - Obsolete
- - Propriété
- - Reference
-translation_of: Archive/Web/JavaScript/Function.arity
----
-<div>{{JSRef}} {{Obsolete_header}}</div>
-
-<p class="note">La propriété <code><strong>arity</strong></code> était utilisée pour renvoyer le nombre d'arguments attendu par la fonction. Elle n'existe plus et a été remplacée par la propriété {{jsxref("Function.prototype.length")}}.</p>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Implémentée avec JavaScript 1.2. Obsolète depuis JavaScript 1.4.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.builtins.Function.arity")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Function.prototype.length")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/function/isgenerator/index.html b/files/fr/web/javascript/reference/objets_globaux/function/isgenerator/index.html
deleted file mode 100644
index 2c483e93ec..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/function/isgenerator/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: Function.prototype.isGenerator()
-slug: Web/JavaScript/Reference/Objets_globaux/Function/isGenerator
-tags:
- - Function
- - JavaScript
- - Méthode
- - Reference
-translation_of: Archive/Web/JavaScript/Function.isGenerator
----
-<div>{{JSRef}} {{Non-standard_header}}</div>
-
-<p>La méthode non-standard <code><strong>isGenerator()</strong></code> permettait de déterminer si une fonction était un <a href="/fr/docs/JavaScript/Guide/iterateurs_et_generateurs#Les_g.C3.A9n.C3.A9rateurs_.3A_des_it.C3.A9rateurs_sous_st.C3.A9ro.C3.AFdes">générateur</a>. Cette fonction a été retirée de Firefox à partir de Firefox 58.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>fun</var>.isGenerator()</pre>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Un booléen indiquant si la fonction appelante est un générateur.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>La méthode <code>isGenerator()</code> permet de déterminer si la fonction <em><code>fun</code></em> est un <a href="/fr/docs/JavaScript/Guide/iterateurs_et_generateurs#Les_g.C3.A9n.C3.A9rateurs_.3A_des_it.C3.A9rateurs_sous_st.C3.A9ro.C3.AFdes">générateur</a>. Elle faisait partie des propositions pour Harmony mais n'a pas été retenue pour la spécification ECMAScript 2015.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">function f () { }
-
-function* g () {
- yield 42;
-}
-
-console.log("f.isGenerator() = " + f.isGenerator()); // f.isGenerator() = false
-console.log("g.isGenerator() = " + g.isGenerator()); // g.isGenerator() = true
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette méthode ne fait partie d'aucune spécification. Elle a été implémentée avec JavaScript 1.8.6.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.builtins.Function.isGenerator")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/docs/JavaScript/Guide/iterateurs_et_generateurs" title="JavaScript/Guide/Iterators and Generators">Itérateurs et générateurs</a></li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/number/tointeger/index.html b/files/fr/web/javascript/reference/objets_globaux/number/tointeger/index.html
deleted file mode 100644
index cce3444088..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/number/tointeger/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Number.toInteger()
-slug: Web/JavaScript/Reference/Objets_globaux/Number/toInteger
-tags:
- - JavaScript
- - Méthode
- - Number
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Number.toInteger
----
-<div>{{JSRef}}{{obsolete_header}}</div>
-
-<p>La méthode <strong><code>Number.toInteger()</code></strong> est utilisée pour évaluer la valeur passée en argument et la convertir en entier. Son implémentation a été supprimée.</p>
-
-<p>Si la valeur à convertir est {{jsxref("NaN")}}, {{jsxref("null")}} ou {{jsxref("undefined")}}, 0 sera renvoyé.<br>
- Si la valeur à convertir est <code>false</code>, 0 sera renvoyé, si c'est <code>true</code>, 1 sera renvoyé.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">Number.toInteger(nombre)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>nombre</code></dt>
- <dd>La valeur à convertir en entier.</dd>
-</dl>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Utiliser_toInteger">Utiliser <code>toInteger</code></h3>
-
-<p>Voici quelques exemples utilisant la méthode :</p>
-
-<pre class="brush:js">Number.toInteger(0.1), // 0
-Number.toInteger(1), // 1
-Number.toInteger(Math.PI), // 3
-Number.toInteger(null) // 0
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p><code>Number.toInteger</code> faisait partie de la spécification ECMAScript 6 mais a été retirée le 23/08/2013 dans la révision 17 du brouillon (<em>draft</em>).</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p>
-
-<p>{{Compat("javascript.builtins.Number.toInteger")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>L'objet {{jsxref("Number")}} auquel appartient cette méthode.</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/count/index.html b/files/fr/web/javascript/reference/objets_globaux/object/count/index.html
deleted file mode 100644
index 03dfa86bde..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/count/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Object.prototype.__count__
-slug: Web/JavaScript/Reference/Objets_globaux/Object/count
-tags:
- - JavaScript
- - Object
- - Obsolete
- - Propriété
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.count
----
-<div>{{JSRef}}{{Non-standard_Header}}{{obsolete_header("gecko2")}}</div>
-
-<p>La propriété <strong><code>__count__</code></strong> était utilisée pour compter les propriétés énumérables d'un objet mais a été retiréee.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>obj</var>.__count__</pre>
-
-<h2 id="Exemples">Exemples</h2>
-
-<pre class="brush: js">{ 1: 1 }.__count__ // 1
-[].__count__ // 0
-[1].__count__ // 1
-[1, /* trou */, 2, 3].__count__ // 3</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette propriété n'appartient à aucune spécification.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.count")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/04/06/more-changes-coming-to-spidermonkey-the-magical-__count__-property-of-objects-is-being-removed/">[Billet de blog] More changes coming to SpiderMonkey: the magical __count__ property is being removed</a> (en anglais)</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/eval/index.html b/files/fr/web/javascript/reference/objets_globaux/object/eval/index.html
deleted file mode 100644
index ae6e095928..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/eval/index.html
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: Object.prototype.eval()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/eval
-tags:
- - JavaScript
- - Méthode
- - Object
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Object.eval
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>La méthode <code><strong>Object.eval()</strong></code> permet d'évaluer une chaîne de caractères contenant du code JavaScript dans le contexte de l'objet. Cette méthode a été retirée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><code><var>obj</var>.eval(<var>string</var>)</code></pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>string</code></dt>
- <dd>N'importe quelle chaîne de caractères qui représente une expression JavaScript ou une séquence d'instructions. L'expression peut contenir des variables et des propriétés d'objets existants.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>La méthode <code>eval</code> ne peut plus être utilisée à partir d'un objet. Il faut utiliser la méthode {{jsxref("eval", "eval")}} à la place.</p>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette méthode ne fait partie d'aucune spécification.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.eval")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("eval")}} (la méthode de l'objet global)</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/getnotifier/index.html b/files/fr/web/javascript/reference/objets_globaux/object/getnotifier/index.html
deleted file mode 100644
index ab7f2e2779..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/getnotifier/index.html
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: Object.getNotifier()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/getNotifier
-tags:
- - JavaScript
- - Méthode
- - Object
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Object.getNotifier
----
-<div>{{JSRef}}{{obsolete_header}}</div>
-
-<p>La méthode <strong><code>Object.getNotifer()</code></strong> est utilisée pour créer un objet qui permet de déclencher des changements (tels que perçus par <code>Object.observe</code><code>()</code>) de façon synthétique. Cette API a été dépréciée et retirée des navigateurs.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">Object.getNotifier(<em>obj</em>)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>L'objet dont on souhaite récupérer le notificateur (<em>notifier</em>) associé.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>L'objet de notification associé à l'objet passé en argument.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>Le notificateur est utilisé pour déclencher des changements qui pourront être observés avec <code>Object.observe()</code>.</p>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Proposition de spécification</a>.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.getNotifier")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/nosuchmethod/index.html b/files/fr/web/javascript/reference/objets_globaux/object/nosuchmethod/index.html
deleted file mode 100644
index bd87292bc5..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/nosuchmethod/index.html
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: Object.prototype.__noSuchMethod__
-slug: Web/JavaScript/Reference/Objets_globaux/Object/noSuchMethod
-tags:
- - JavaScript
- - Object
- - Obsolete
- - Propriété
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.noSuchMethod
----
-<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko43")}}</div>
-
-<p>La propriété <code><strong>__noSuchMethod__</strong></code> était utilisée pour faire référence à une fonction qui devait être utilisée lorsqu'on appelait une méthode inexistante d'un objet. Cette fonction n'est plus disponible.</p>
-
-<p>Si <code><strong>__noSuchMethod__</strong></code> a été abandonnée, la spécification ECMAScript 2015 (ES6) fournit les objets <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Proxy">Proxy</a></code> qui permettent de réaliser ce qui pouvait être fait avec cette propriété (et plus encore).</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>obj</var>.__noSuchMethod__ = <var>fun</var></pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>fun</code></dt>
- <dd>Une fonction de la forme</dd>
- <dd>
- <pre class="brush: js">function (<var>id</var>, <var>args</var>) { . . . }</pre>
-
- <dl>
- <dt><code>id</code></dt>
- <dd>Le nom de la méthode qui n'est pas définie pour l'objet et qui a été appelée.</dd>
- <dt><code>args</code></dt>
- <dd>Le tableau d'arguments passé à la méthode.</dd>
- </dl>
- </dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>Par défaut, lorsqu'on appelle une méthode qui n'existe pas pour un objet, cela lève une exception {{jsxref("TypeError")}}. Ce comportement peut être modifié en définissant une fonction pour la propriété <code>__noSuchMethod__</code>. Cette fonction prend en compte deux arguments : le premier qui est le nom de la méthode non définie qui a été appelée et le second qui correspond au tableau des arguments passés lors de l'appel. Le deuxième argument est bien un tableau (il hérite de {{jsxref("Array.prototype")}}) et n'est pas un objet semblable à un tableau comme l'objet {{jsxref("Fonctions/arguments","arguments")}}.</p>
-
-<p>Si cette méthode ne peut être appelée, soit parce qu'elle vaut <code>undefined</code> (sa valeur par défaut), soit parce qu'elle a été supprimée ou définie avec une valeur qui n'est pas une fonction, le moteur JavaScript reprendra le comportement par défaut et renverra des exceptions <code>TypeError</code>.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Un_test_simple_avec___noSuchMethod__">Un test simple avec <code>__noSuchMethod__</code></h3>
-
-<pre class="brush: js">var o = {
- __noSuchMethod__: function(id, args) {
- console.log(id, '(' + args.join(', ') + ')');
- }
-};
-
-o.toto(1, 2, 3);
-o.truc(4, 5);
-o.machin();
-
-// affichera
-// toto (1, 2, 3)
-// truc (4, 5)
-// machin ()
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette propriété ne fait partie d'aucune spécification et a été retirée : voir le {{bug(683218)}}.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.noSuchMethod")}}</p>
-</div>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/observe/index.html b/files/fr/web/javascript/reference/objets_globaux/object/observe/index.html
deleted file mode 100644
index eb0e3ec8c0..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/observe/index.html
+++ /dev/null
@@ -1,154 +0,0 @@
----
-title: Object.observe()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/observe
-tags:
- - JavaScript
- - Méthode
- - Object
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Object.observe
----
-<div>{{JSRef}}{{obsolete_header}}</div>
-
-<p>La méthode <strong><code>Object.observe()</code></strong> est utilisée afin d'observer de façon asynchrone les modifications apportées à un objet. Cette méthode fournit un flux d'information qui correspondent aux changement apportés à l'objet, dans l'ordre dans lequel ils se sont produits. Cependant, cette API a été dépréciée et retirée des navigateurs. À la place, il est préférable d'utiliser l'objet {{jsxref("Proxy")}}.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">Object.observe(<var>obj</var>, <var>callback</var>[,<var>listeChangements</var>])</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>L'objet qu'on souhaite observer.</dd>
- <dt><code>callback</code></dt>
- <dd>La fonction qui est appelée à chaque fois qu'un changement est effectué. Elle est invoquée avec l'argument suivant :
- <dl>
- <dt><code>changes</code></dt>
- <dd>Un tableau d'objets dont chaque élément représente une modification. Les propriétés de ces objets sont :
- <ul>
- <li><strong><code>name </code></strong>: Le nom de la propriété qui a été modifiée.</li>
- <li><strong><code>object</code></strong> : L'objet modifié une fois le changement apporté.</li>
- <li><strong><code>type</code></strong> : Une chaîne de caractères qui indique le type de modification qui a eu lieu. Elle peut valoir <code>"add"</code>, <code>"update"</code>, ou <code>"delete"</code>.</li>
- <li><strong><code>oldValue </code></strong>: Propriété présente uniquement pour les types <code>"update"</code> et <code>"delete"</code>. Elle correspond à la valeur de l'objet avant la modification.</li>
- </ul>
- </dd>
- </dl>
- </dd>
- <dt><code>listeChangements</code></dt>
- <dd>La liste des types de changements qu'on souhaite observer sur l'objet donné avec la fonction de retour donnée. Par défaut, si cet argument n'est pas utilisé, le tableau utilisé sera <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code>.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>L'objet qu'on souhaite observer.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>La fonction <code>callback</code> est appelée chaque fois qu'une modification est apportée à <code>obj</code> avec comme argument le tableau listant l'ensemble des modifications, dans l'ordre dans lequel elles se sont produites.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Enregistrer_les_différents_types_de_modifications">Enregistrer les différents types de modifications</h3>
-
-<pre class="brush: js">var obj = {
- toto: 0,
- truc: 1
-};
-
-Object.observe(obj, function(changes) {
- console.log(changes);
-});
-
-obj.machin = 2;
-// [{name: 'machin', object: , type: 'add'}]
-
-obj.toto = 'coucou';
-// [{name: 'toto', object: , type: 'update', oldValue: 0}]
-
-delete obj.machin;
-// [{name: 'machin', object: , type: 'delete', oldValue: 2}]
-
-Object.defineProperty(objet,'toto', {writable: false});
-// [{name: 'toto', object: &lt;obj&gt;, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-// [{name: '__proto__',object: &lt;obj&gt;, type: 'setPrototype', oldValue: &lt;prototype&gt;}]
-
-Object.seal(obj);
-// [
-// {name: 'toto', object: &lt;obj&gt;, type: 'reconfigure'},
-// {name: 'machin', object: &lt;obj&gt;, type: 'reconfigure'},
-// {object: &lt;obj&gt;, type: 'preventExtensions'}
-// ]
-</pre>
-
-<h3 id="Lier_des_données">Lier des données</h3>
-
-<pre class="brush: js">// Un objet représentant un utilisateur
-var utilisateur = {
- id: 0,
- nom: 'Brendan Eich',
- titre: 'Mr.'
-};
-
-// Une fonction de salutation
-function majSalutation() {
- user.greeting = 'Bonjour, ' + utilisateur.titre + ' ' + utilisateur.nom + ' !';
-}
-majSalutation();
-
-Object.observe(utilisateur, function(changes) {
- changes.forEach(function(change) {
- // Pour chaque modification qui porte sur le nom ou le titre
- // on met à jour la salutation
- if (change.name === 'nom' || change.name === 'titre') {
- majSalutation();
- }
- });
-});
-</pre>
-
-<h3 id="Exemple_Enregistrer_des_changements_personnalisés">Exemple : Enregistrer des changements personnalisés</h3>
-
-<pre class="brush: js">// On représente un point sur un plan bidimensionnel
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
- // On effectue un changement personnalisé
- Object.getNotifier(pt).performChange('reposition', function() {
- var exDistance = pt.distance;
- pt.x = x;
- pt.y = y;
- pt.distance = Math.sqrt(x * x + y * y);
- return {exDistance: exDistance};
- });
-}
-
-Object.observe(point, function(changes) {
- console.log('Distance modifiée : ' + (point.distance - changes[0].exDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Distance modifiée : 5</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Proposition de spécification (<em>straw man proposal</em>).</a></p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.observe")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
- <li><a href="https://esdiscuss.org/topic/an-update-on-object-observe">Retrait de la proposition pour <code>Object.Observer</code> (en anglais)</a></li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/parent/index.html b/files/fr/web/javascript/reference/objets_globaux/object/parent/index.html
deleted file mode 100644
index dfbda99f34..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/parent/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Object.prototype.__parent__
-slug: Web/JavaScript/Reference/Objets_globaux/Object/Parent
-tags:
- - JavaScript
- - Object
- - Obsolete
- - Propriété
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.parent
----
-<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko2")}}</div>
-
-<p>La propriété <strong><code>__parent__</code></strong> était utilisée pour pointer vers le contexte d'un objet mais elle a été supprimée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>obj</var>.__parent__</pre>
-
-<h2 id="Description">Description</h2>
-
-<p>Pour les objets de plus haut niveau, on aurait eu <code>window</code> par exemple.</p>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette propriété ne fait partie d'aucune spécification.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.parent")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">Article : SpiderMonkey change du jour: the special __parent__ property has been removed</a> (en anglais)</li>
- <li><a href="/fr/docs/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject</a></li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html b/files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html
deleted file mode 100644
index 88de52a813..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Object.unobserve()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/unobserve
-tags:
- - JavaScript
- - Méthode
- - Object
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Object.unobserve
----
-<div>{{JSRef}} {{obsolete_header}}</div>
-
-<p>La méthode <code><strong>Object.unobserve()</strong></code> est utilisée pour retirer des observateurs placés avec {{jsxref("Object.observe()")}}. Cette méthode et l'API à laquelle elle appartient ont été dépréciées et retirées des navigateurs. À la place, il est préférable d'utiliser l'objet {{jsxref("Proxy")}}.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">Object.unobserve(<var>obj</var>, <var>callback</var>)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>obj</code></dt>
- <dd>L'objet qu'on souhaite arrêter d'observer.</dd>
- <dt><code>callback</code></dt>
- <dd>La référence vers l'observateur qu'on souhaite arrêter d'appeler à chaque fois qu'une modification est apportée à <code><strong>obj</strong></code>.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>L'objet qui n'est plus observé.</p>
-
-<h2 id="Description">Description</h2>
-
-<p><code>Object.unobserve()</code> doit être appelé après {{jsxref("Object.observe()")}} afin de retirer un observateur d'un objet.</p>
-
-<p>La fonction de rappel (<em>callback</em>) doit être une référence à la fonction et non une fonction anonyme. En effet, c'est cette référence qui sera utilisée pour retirer l'observateur précédemment placé. Appeler <strong>Object.unobserve()</strong> avec une fonction anonyme n'aura aucun effet, cela ne retirera aucun observateur.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Arrêter_l'observation_un_objet">Arrêter l'observation un objet</h3>
-
-<pre class="brush: js">var obj = {
- toto: 0,
- truc: 1
-};
-
-var observer = function(changements) {
- console.log(changements);
-}
-
-Object.observe(obj, observer);
-​
-obj.nouvelleProp = 2;
-// [{name: 'nouvelleProp', object: &lt;obj&gt;, type: 'add'}]
-
-Object.unobserve(obj, observer);
-
-obj.toto = 1;
-// La fonction callback n'a pas été appelée</pre>
-
-<h3 id="Utiliser_une_fonction_anonyme">Utiliser une fonction anonyme</h3>
-
-<pre class="brush: js">var personne = {
- name : 'Ahmed',
- age : 25
-};
-
-Object.observe(personne, function (changements) {
- console.log(changements);
-});
-
-personne.age = 40;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 25, type: 'update'}]
-
-Object.unobserve(personne, function (changements) {
- console.log(changements);
-});
-
-personne.age = 63;
-// [{name: 'age', object: &lt;obj&gt;, oldValue: 40, type: 'update'}]
-// La fonction callback est toujours appelée
-</pre>
-
-<h2 id="Specifications">Specifications</h2>
-
-<p><a href="https://github.com/arv/ecmascript-object-observe">Proposition de spécification (<em>strawman proposal</em>)</a>.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.unobserve")}}</p>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.observe()")}}{{obsolete_inline}}</li>
- <li>{{jsxref("Array.observe()")}}{{obsolete_inline}}</li>
- <li>{{jsxref("Array.unobserve()")}}{{obsolete_inline}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/unwatch/index.html b/files/fr/web/javascript/reference/objets_globaux/object/unwatch/index.html
deleted file mode 100644
index 4863156034..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/unwatch/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Object.prototype.unwatch()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/unwatch
-tags:
- - JavaScript
- - Méthode
- - Non-standard
- - Object
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.unwatch
----
-<div>{{JSRef}}{{Non-standard_header}}</div>
-
-<div class="warning">
-<p><strong>Méthode dépréciée !</strong> Ne pas utiliser <code>unwatch()</code> et {{jsxref("Object.prototype.watch", "watch()")}}. En effet, ces deux méthodes n'étaient implémentées qu'avec Gecko <strong>et ont été retirées à partir de Firefox 58.</strong> De plus, l'ajout de points d'arrêts conditionnels a de graves impacts sur les performances, notamment sur les objets globaux comme <code>window</code>. Il est conseillé d'utiliser les <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_objets#D.C3.A9finir_des_getters_et_setters">accesseurs et mutateurs</a> ou les proxies.</p>
-</div>
-
-<p>La méthode <code><strong>unwatch()</strong></code> permet de retirer un point d'arrêt conditionnel créé par la méthode {{jsxref("Object.prototype.watch", "watch()")}}.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>obj</var>.unwatch(<var>prop</var>)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>prop</code></dt>
- <dd>Le nom de la propriété dont on ne veut plus suivre l'état.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>{{jsxref("undefined")}}.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>Le débogueur JavaScript possède plusieurs fonctionnalités, y compris celles offertes par cette fonction. Pour plus d'informations sur cet outil, voir <a href="/fr/docs/Outils/Debugger">le débogueur JavaScript</a>.</p>
-
-<p>Par défaut, tous les objets qui descendent de {{jsxref("Object")}} héritent de cette méthode.</p>
-
-<div class="note">
-<p><strong>Note :</strong> <code>unwatch()</code> utilise le nom d'une seule propriété comme paramètre. Ce comportement est expliqué avec la méthode {{jsxref("Object.watch", "watch()")}}.</p>
-</div>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Voir {{jsxref("Object.watch", "watch()")}}.</p>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette méthode ne fait partie d'aucune spécification. Implémentée avec JavaScript 1.2.</p>
-
-<h2 id="Compatibilité_des_navigateurs"><a id="compat" name="compat">Compatibilité des navigateurs</a></h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Object.unwatch")}}</p>
-</div>
-
-<h2 id="Notes_de_compatibilté">Notes de compatibilté</h2>
-
-<p>Si on appelle <code>unwatch()</code> sur un objet {{domxref("Document")}}, on aura une exception {{jsxref("TypeError")}} à partir de Firefox 23 ({{bug(903332)}}). Cette régression a été corrigée avec Firefox 27.</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.watch()")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/object/watch/index.html b/files/fr/web/javascript/reference/objets_globaux/object/watch/index.html
deleted file mode 100644
index 5a99dfe28f..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/object/watch/index.html
+++ /dev/null
@@ -1,150 +0,0 @@
----
-title: Object.prototype.watch()
-slug: Web/JavaScript/Reference/Objets_globaux/Object/watch
-tags:
- - JavaScript
- - Méthode
- - Non-standard
- - Object
- - Prototype
- - Reference
-translation_of: Archive/Web/JavaScript/Object.watch
----
-<div>{{JSRef}}{{non-standard_header}}</div>
-
-<div class="warning">
-<p><strong>Méthode dépréciée !</strong> Ne pas utiliser <code>watch()</code> et {{jsxref("Object.prototype.unwatch", "unwatch()")}}. En effet, ces deux méthodes n'ont été implémentées qu'avec Gecko et sont dépréciées. <strong>Elle sont retirées avec à partir de Firefox 58</strong>. De plus, l'ajout de points d'arrêts conditionnels a de graves impacts sur les performances, notamment sur les objets globaux comme <code>window</code>. Il est conseillé d'utiliser les <a href="/fr/docs/Web/JavaScript/Guide/Utiliser_les_objets#D.C3.A9finir_des_getters_et_setters">accesseurs et mutateurs</a> ou <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Proxy">les proxies</a>. Attention également à ne pas confondre {{jsxref("Object.prototype.watch", "Object.watch")}} et {{jsxref("Object.prototype.observe", "Object.observe")}}.</p>
-</div>
-
-<p>La méthode <code><strong>watch()</strong></code> permet d'appeler une fonction lorsqu'une propriété est affectée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>obj</var>.watch(<var>prop</var>, <var>handler</var>)</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>prop</code></dt>
- <dd>Le nom d'une propriété d'un objet dont on souhaite surveiller les changements.</dd>
- <dt><code>handler</code></dt>
- <dd>Une fonction à appeler quand la valeur de la propriété est modifiée.</dd>
-</dl>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>{{jsxref("undefined")}}.</p>
-
-<h2 id="Description">Description</h2>
-
-<p>Cette méthode permet de surveiller les assignations à une propriété appelée <code>prop</code> de l'objet courant, et appelle <code>handler(prop, ancienneValeur, nouvelleValeur)</code> dès que <code>prop</code> est définie et enregistre la valeur de retour dans cette propriété. Un tel point de surveillance peut filtrer (ou rendre null) l'assignation de la valeur, en renvoyant une valeur <code>nouvelleValeur</code> modifiée (ou en renvoyant <code>ancienneValeur</code>).</p>
-
-<p>Si une propriété pour laquelle un point de surveillance avait été défini, celui-ci ne disparait pas. Si la propriété est recréée par la suite, le point de surveillance sera toujours en activité.</p>
-
-<p>Pour retirer un point de surveillance, utilisez la méthode {{jsxref("Object.unwatch", "unwatch()")}}/ Par défaut, la méthode <code>watch</code> est héritée par tous les objets descendant d'<code>Object</code>.</p>
-
-<p>Le débogueur JavaScript a des fonctionnalités similaires à celles fournies par cette méthode, ainsi que d'autres options de débogage. Pour en savoir plus, voir <a href="/fr/docs/Outils/Debugger">le débogueur JavaScript</a>.</p>
-
-<p>Dans Firefox, <code>handler</code> n'est appelé que pour les assignations par script, pas depuis du code natif. Par exemple, <code>window.watch('location', myHandler)</code> n'appellera pas <code>myHandler</code> si l'utilisateur clique sur un lien vers une cible dans le document courant. Par contre, <code>window.location += '#myAnchor'</code> appellera <code>myHandler</code> :</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Utiliser_watch_et_unwatch">Utiliser <code>watch</code> et <code>unwatch</code></h3>
-
-<pre class="brush:js">var o = {p:1};
-o.watch("p",
- function (id, oldval, newval) {
- console.log("o." + id + " a été modifiée de " + oldval + " en " + newval);
- return newval;
- });
-
-o.p = 2;
-o.p = 3;
-delete o.p;
-o.p = 4;
-
-o.unwatch('p');
-o.p = 5;
-</pre>
-
-<p>Ce script affiche la sortie suivante :</p>
-
-<pre class="eval">o.p a été modifiée de 1 en 2
-o.p a été modifiée de 2 en 3
-o.p a été modifiée de undefined en 4
-</pre>
-
-<h3 id="Utiliser_watch_pour_valider_les_propriétés_d'un_objet">Utiliser <code>watch</code> pour valider les propriétés d'un objet</h3>
-
-<p>La méthode <code>watch</code> peut être utilisée pour tester les assignations d'une propriété d'objet. Cet exemple s'assure que toute Personne a un nom valide et un age entre 0 et 200.</p>
-
-<pre class="brush: js">Personne = function(name,age) {
- this.watch("age", Personne.prototype._isValidAssignment);
- this.watch("nom", Personne.prototype._isValidAssignment);
- this.nom = nom;
- this.age = age;
-}
-
-Personne.prototype.toString = function() {
- return this.nom + ", " + this.age;
-};
-
-Personne.prototype._isValidAssignment = function(id, oldval, newval) {
- if (id == "nom" &amp;&amp; (!newval || newval.length &gt; 30)) {
- throw new RangeError("nom invalide pour " + this);
- }
- if (id == "age" &amp;&amp; (newval &lt; 0 || newval &gt; 200)) {
- throw new RangeError("âge invalide pour " + this);
- }
- return newval;
-}
-
-will = new Personne("Will", 29);
-console.log(will); // Will, 29
-
-try {
- will.nom = "";
-} catch (e) {
- console.log(e);
-}
-
-try {
- will.age = -4;
-} catch (e) {
- console.log(e);
-}
-</pre>
-
-<p>Ce script affichera la sortie suivante :</p>
-
-<pre class="eval">Will, 29
-RangeError: nom invalide pour Will, 29
-RangeError: âge invalide pour Will, 29
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Cette méthode ne fait partie d'aucune spécification. Elle a été implémentée avec JavaScript 1.2.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>
-<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
-
-<p>{{Compat("javascript.builtins.Object.watch")}}</p>
-</div>
-
-<h2 id="Notes_de_compatibilité">Notes de compatibilité</h2>
-
-<ul>
- <li>Cette <a class="external link-https" href="https://gist.github.com/384583">prothèse d'émulation</a> (<em>polyfill</em>) permet d'utiliser <code>watch</code> dans les différents navigateurs compatibles avec ES5</li>
- <li>Utiliser un objet {{jsxref("Proxy")}} permet d'avoir accès à plus d'informations, de façon plus profonde sur la manière dont les propriétés sont changées.</li>
- <li>Appeler <code>watch()</code> sur un objet {{domxref("Document")}} renvoyait une exception {{jsxref("TypeError")}} depuis Firefox 23 ({{bug(903332)}}). Cette régression a été résolue avec Firefox 27.</li>
-</ul>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Object.unwatch()")}}</li>
- <li>{{jsxref("Object.observe()")}}{{obsolete_inline}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/parallelarray/index.html b/files/fr/web/javascript/reference/objets_globaux/parallelarray/index.html
deleted file mode 100644
index 2ab4d8bb74..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/parallelarray/index.html
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: ParallelArray
-slug: Web/JavaScript/Reference/Objets_globaux/ParallelArray
-tags:
- - JavaScript
- - Obsolete
- - ParallelArray
- - Reference
-translation_of: Archive/Web/ParallelArray
----
-<div>{{jsSidebar("Objects")}}{{ obsolete_header}}</div>
-
-<p>Le but de <strong><code>ParallelArray</code></strong> est de disposer de parallélisme pour les données des applications web. Les fonctions disponibles via cette objet tenteront une exécution en parallèle avant de traiter l'exécution de façon séquentielle si besoin. Pour être sûr que votre code puisse être exécuté en parallèle, il est conseillé de se limiter aux fonctions JavaScript parallélisables <a href="http://smallcultfollowing.com/babysteps/blog/2013/04/30/parallelizable-javascript-subset/">supportées par Firefox</a> (article en anglais).</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">new ParallelArray()
-new ParallelArray([element0, element1, ...])
-new ParallelArray(arrayLength, elementalFunction)</pre>
-
-<h2 id="Instances_de_ParallelArray">Instances de <code>ParallelArray</code></h2>
-
-<h3 id="Propriétés">Propriétés</h3>
-
-<dl>
- <dt>length</dt>
- <dd>Indique le nombre d'éléments dans l'objet <code>ParallelArray</code>.</dd>
-</dl>
-
-<h3 id="Méthodes">Méthodes</h3>
-
-<dl>
- <dt>map</dt>
- <dt>reduce</dt>
- <dt>scan</dt>
- <dt>scatter</dt>
- <dt>filter</dt>
- <dt>flatten</dt>
- <dt>partition</dt>
- <dt>get</dt>
-</dl>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Utilisation_de_map_en_parallèle">Utilisation de <code>map</code> en parallèle</h3>
-
-<pre class="brush: js">var p = new ParallelArray([0, 1, 2, 3, 4]);
-var m = p.map(function (v) {
- return v + 1;
-});</pre>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="http://wiki.ecmascript.org/doku.php?id=strawman:data_parallelism">RiverTrail l'API Ecmascript pour le parallélisme</a> (en anglais)</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/stopiteration/index.html b/files/fr/web/javascript/reference/objets_globaux/stopiteration/index.html
deleted file mode 100644
index 5b26730085..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/stopiteration/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: StopIteration
-slug: Web/JavaScript/Reference/Objets_globaux/StopIteration
-tags:
- - JavaScript
- - Legacy Iterator
- - Reference
- - Référence(2)
- - StopIteration
-translation_of: Archive/Web/StopIteration
----
-<div>{{jsSidebar("Objects")}}{{deprecated_header}}</div>
-
-<div class="warning"><strong>Non standard.</strong> L'objet <code><strong>StopIteration</strong></code> est une fonctionnalité propre à SpiderMonkey. Pour utiliser des fonctions pérennes, préférez les boucles {{jsxref("Instructions/for...of", "for...of")}} et le <a href="/fr/docs/Web/JavaScript/Guide/Le_protocole_iterator">protocole itérateur</a>.</div>
-
-<p>L'objet <code><strong>StopIteration</strong></code> est une exception levée lorsque l'on cherche à accéder au prochain élément d'un itérateur épuisé et implémentant le protocole itérateur historique.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">StopIteration</pre>
-
-<h2 id="Description">Description</h2>
-
-<p><code>StopIteration</code> est un élément lié à l'ancien protocole pour les itérateurs. Il sera retiré en même temps que les itérateurs et générateurs historiques (pour être remplacé par l'équivalent ECMAScript2015/ECMAScript6).</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p><code>StopIteration</code> est levée par l'objet {{jsxref("Objets_globaux/Iterator", "Iterator")}}.</p>
-
-<pre class="brush: js">var a = {
- x: 10,
- y: 20
-};
-var iter = Iterator(a);
-console.log(iter.next()); // ["x", 10]
-console.log(iter.next()); // ["y", 20]
-console.log(iter.next()); // lève StopIteration
-</pre>
-
-<p>Lever <code>StopIteration</code> directement.</p>
-
-<pre class="brush: js">function f() {
- yield 1;
- yield 2;
- throw StopIteration;
- yield 3; // cette ligne ne sera jamais exécutée
-}
-
-for (var n in f()) {
- console.log(n); // imprime 1, puis 2, mais pas 3
-}
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Non standard. Ne fait partie d'aucun standard.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div>{{CompatibilityTable}}</div>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Fonctionnalité</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>Support simple</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Fonctionnalité</th>
- <th>Android</th>
- <th>Chrome pour Android</th>
- <th>Firefox Mobile (Gecko)</th>
- <th>IE Mobile</th>
- <th>Opera Mobile</th>
- <th>Safari Mobile</th>
- </tr>
- <tr>
- <td>Support simple</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- <td>{{CompatNo}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Guide/iterateurs_et_generateurs">Itérateurs and générateurs historiques</a></li>
- <li>{{jsxref("Objets_globaux/Iterator", "Iterator")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/objets_globaux/string/quote/index.html b/files/fr/web/javascript/reference/objets_globaux/string/quote/index.html
deleted file mode 100644
index 181ae613fc..0000000000
--- a/files/fr/web/javascript/reference/objets_globaux/string/quote/index.html
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: String.prototype.quote()
-slug: Web/JavaScript/Reference/Objets_globaux/String/quote
-tags:
- - JavaScript
- - Méthode
- - Obsolete
- - Prototype
- - Reference
- - String
-translation_of: Archive/Web/JavaScript/String.quote
----
-<div>{{obsolete_header("37")}}{{JSRef}} {{Non-standard_header}}</div>
-
-<p>La méthode <code><strong>quote()</strong></code> est une méthode non-standard qui permet de renvoyer une copie de la chaîne de caractères en remplaçant les différents caractères spéciaux de la chaîne par leur séquence d'échappement et en encadrant le résultat avec des doubles quotes (<code>"</code>).</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox"><var>str</var>.quote()</pre>
-
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
-
-<p>Une nouvelle chaîne de caractères représentant la chaîne appelante, encadrée entre doubles quotes et pour laquelle les caractères spéciaux ont été échappés.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Le tableau suivant illustre comment la méthode <code>quote</code> remplace les différents caractères spéciaux et encadre la chaîne résultante entre doubles quotes. La troisième colonne illustre comment la méthode <code>eval</code> évalue les séquences d'échappement à nouveau.</p>
-
-<table class="fullwidth-table">
- <thead>
- <tr>
- <th class="header" scope="col"><code>str</code></th>
- <th class="header" scope="col"><code>str.quote()</code></th>
- <th class="header" scope="col"><code>eval(str.quote())</code></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>Coucou monde</code> !</td>
- <td><code>"Coucou monde !"</code></td>
- <td><code>Coucou monde !</code></td>
- </tr>
- <tr>
- <td><code>Coucou<br>
-         monde !</code></td>
- <td><code>"Coucou\n\tmonde !"</code></td>
- <td><code>Coucou<br>
-         monde !</code></td>
- </tr>
- <tr>
- <td><code>" \ — '</code></td>
- <td><code>"\" \\ \u2014 '"</code></td>
- <td><code>" \ — '</code></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Aucune. Cette méthode ne fait partie d'aucun standard. Elle a été implémentée avec JavaScript 1.3.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p>
-
-<p>{{Compat("javascript.builtins.String.quote")}}</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("JSON.stringify()")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/opérateurs/compréhensions_de_générateur/index.html b/files/fr/web/javascript/reference/opérateurs/compréhensions_de_générateur/index.html
deleted file mode 100644
index 83682e6284..0000000000
--- a/files/fr/web/javascript/reference/opérateurs/compréhensions_de_générateur/index.html
+++ /dev/null
@@ -1,183 +0,0 @@
----
-title: Compréhensions de générateur
-slug: Web/JavaScript/Reference/Opérateurs/Compréhensions_de_générateur
-tags:
- - Iterator
- - JavaScript
- - Non-standard
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Generator_comprehensions
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}</div>
-
-<div class="warning"><strong>Non-standard. Ne pas utiliser !</strong><br>
-La syntaxe de  compréhensions de générateurs ne sont pas une fonctionnalité standard et ont été retirées à partir de Firefox 58. Mieux vaut utiliser les {{jsxref("Instructions/function*", "générateurs", "", 1)}} pour des fonctionnalités similaires.</div>
-
-<p>La syntaxe de <strong>compréhension de générateur</strong> était une expression qui permettait de construire rapidement une fonction génératrice à partir d'un objet itérable. Toutefois, cette syntaxe a été retirée du standard et de l'implémentation qui en est faite par Firefox. Elle ne doit pas être utilisée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">(for (x of itérable) x)
-(for (x of itérable) if (condition) x)
-(for (x of itérable) for (y of itérable) x + y)
-</pre>
-
-<h2 id="Description">Description</h2>
-
-<p>Une compréhension de générateur peut contenir deux sortes de composants :</p>
-
-<ul>
- <li>{{jsxref("Instructions/for...of", "for...of")}} et</li>
- <li>{{jsxref("Instructions/if...else", "if")}}</li>
-</ul>
-
-<p>L'itération <code>for-of</code> est toujours le premier composant. Il est possible d'utiliser plusieurs itérations <code>for-of</code> et plusieurs instructions <code>if</code>.</p>
-
-<p>Les {{jsxref("Opérateurs/Compréhensions_de_tableau","compréhensions de tableaux","","true")}} ont un inconvénient majeur : quand on les utilise, un nouveau tableau est créé en mémoire. Cela ne pose pas de problème particulier quand le tableau en question est petit (l'impact sera alors léger) mais lorsque le tableau est très grand (voire infini avec un générateur), cela peut poser problème que de vouloir créer un nouveau tableau.</p>
-
-<p>Les générateurs permettent de calculer des suites à la demande (chaque élément successif est calculé lorsqu'on en a besoin). Les compréhensions de générateurs sont presque identiques, d'une point de vue syntaxique, aux compréhensions de tableaux. Plutôt d'utiliser des crochets, elles utilisent des parenthèses et au lieu de créer un tableau, elles créent un générateur qui pourra être utilisé. Cette notation peut être vue comme une notation raccourcie pour créer des générateurs.</p>
-
-<p>Imaginons qu'on ait un itérateur qui parcourt une grande série d'entiers et qu'on veuille créer un itérateur qui itère sur les doubles de ces entiers. Une compréhension de tableau entraînerait la création d'un tableau complet en mémoire, dont les éléments seraient les valeurs doublées :</p>
-
-<pre class="brush: js">var doubles = [for (i in it) i * 2];
-</pre>
-
-<p>En revanche, une compréhension de générateur permettrait de créer un nouvel itérateur qui pourrait être utilisé pour créer les valeurs doublées à la demande, quand on a besoin de les utiliser :</p>
-
-<pre class="brush: js">var it2 = (for (i in it) i * 2);
-console.log(it2.next()); // La première valeur, doublée
-console.log(it2.next()); // La deuxième valeur, doublée
-</pre>
-
-<p>Lorsqu'une compréhension de générateur est utilisée comme un argument d'une fonction, les parenthèses utilisées pour l'appel de la fonction permettent de ne pas écrire les parenthèse encadrant la compréhension :</p>
-
-<pre class="brush: js">var résultat = faireQuelqueChose(for (i in it) i * 2);
-</pre>
-
-<p>Avec la compréhension de générateur, on ne parcourt qu'une fois la structure de l'objet alors qu'avec une compréhension de tableau, on parcourt une fois le tableau pour construire la nouvelle version puis une seconde fois quand on souhaite l'utiliser.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Compréhensions_simples">Compréhensions simples</h3>
-
-<pre class="brush:js">(for (i of [ 1, 2, 3 ]) i*i );
-// fonction génératrice qui générera 1, 4, et 9
-
-[...(for (i of [ 1, 2, 3 ]) i*i )];
-// [1, 4, 9]
-
-var abc = [ "A", "B", "C" ];
-(for (lettres of abc) lettres.toLowerCase());
-// fonction génératrice qui générera "a", "b", et "c"
-</pre>
-
-<h3 id="Compréhensions_utilisant_une_instruction_if">Compréhensions utilisant une instruction <code>if</code></h3>
-
-<pre class="brush: js">var années = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-
-(for (année of années) if (année &gt; 2000) année);
-// fonction génératrice qui générera 2006, 2010, et 2014
-
-(for (année of années) if (année &gt; 2000) if(année &lt; 2010) année);
-// fonction génératrice qui générera 2006, équivaut à :
-
-(for (année of années) if (année &gt; 2000 &amp;&amp; année &lt; 2010) année);
-// fonction génératrice qui générera 2006
-</pre>
-
-<h3 id="Compréhensions_de_générateurs_et_fonctions_génératrices">Compréhensions de générateurs et fonctions génératrices</h3>
-
-<p>Pour mieux comprendre la syntaxe des compréhensions, on peut la comparer avec celle des fonctions génératrices :</p>
-
-<p>Exemple 1 : Générateur simple.</p>
-
-<pre class="brush: js">var nombres = [ 1, 2, 3 ];
-
-// Fonction génératrice
-(function*() {
- for (let i of nombres) {
- yield i * i;
- }
-})()
-
-// Compréhension de générateur
-(for (i of nombres) i*i );
-
-// Résultat : les deux instructions renvoient chacune un générateur pour créer [ 1, 4, 9 ]
-</pre>
-
-<p>Second exemple : Un générateur avec <code>if</code>.</p>
-
-<pre class="brush: js">var nombres = [ 1, 2, 3 ];
-
-// Fonction génératrice
-(function*() {
- for (let i of nombres) {
- if (i &lt; 3) {
- yield i * 1;
- }
- }
-})()
-
-// Compréhension
-(for (i of nombres) if (i &lt; 3) i);
-
-// Résultat : les deux renvoient un générateur qui générera [ 1, 2 ]</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Était initialement prévu pour le brouillon ECMAScript 2015 mais fut retiré lors de la révision 27 (août 2014). Consulter les révisions antérieures d'ES2015 pour les spécifications de cette sémantique.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.operators.generator_comprehensions")}}</p>
-
-<h2 id="Notes_relatives_à_l'implémentation_de_SpiderMonkey">Notes relatives à l'implémentation de SpiderMonkey</h2>
-
-<ul>
- <li>{{jsxref("Instructions/let", "let")}} n'est pas supporté comme identifiant car il n'est disponible qu'avec JavaScript 1.7 et pour la manipulations des balises de script XUL.</li>
- <li>La décomposition, utilisée dans les compréhensions, n'est pas encore supportée ({{bug(980828)}}).</li>
-</ul>
-
-<h2 id="Différences_avec_les_anciennes_compréhensions_JS_1.7_et_JS_1.8">Différences avec les anciennes compréhensions JS 1.7 et JS 1.8</h2>
-
-<div class="warning">
-<p>Les compréhensions « JS1.7 / JS1.8 » ont été retirées à partir de Gecko 46 ({{bug(1220564)}}).</p>
-</div>
-
-<p><strong>Ancienne syntaxe pour les compréhensions (ne plus l'utiliser) :</strong></p>
-
-<pre class="brush: js example-bad">[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-</pre>
-
-<p>Les différences :</p>
-
-<ul>
- <li>Les compréhensions ES2016 créent une portée par nœud <code>for</code> et non pas une portée pour l'ensemble de la compréhension.
-
- <ul>
- <li>Ancienne version : <code>[...(()=&gt;x for (x of [0, 1, 2]))][1]() // 2</code></li>
- <li>Nouvelle version: <code>[...(for (x of [0, 1, 2]) ()=&gt;x)][1]() // 1, chaque itération crée une nouvelle liaison pour x. </code></li>
- </ul>
- </li>
- <li>Les compréhensions ES2016 débutent par <code>for</code> et non pas l'expression d'affectation.
- <ul>
- <li>Ancienne version : <code>(i * 2 for (i of nombres))</code></li>
- <li>Nouvelle version : <code>(for (i of nombres) i * 2)</code></li>
- </ul>
- </li>
- <li>Les compréhensions ES2016 peuvent utiliser plusieurs composants <code>if</code> et <code>for</code>.</li>
- <li>Les compréhensions ES2016 ne fonctionnent qu'avec les boucles <code>{{jsxref("Instructions/for...of", "for...of")}}</code>, pas avec les boucles <code>{{jsxref("Instructions/for...in", "for...in")}}</code>.</li>
-</ul>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Instructions/for...of", "for...of")}}</li>
- <li>{{jsxref("Opérateurs/Compréhensions_de_tableau", "Compréhensions_de_tableau")}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/opérateurs/compréhensions_de_tableau/index.html b/files/fr/web/javascript/reference/opérateurs/compréhensions_de_tableau/index.html
deleted file mode 100644
index 17a61266a9..0000000000
--- a/files/fr/web/javascript/reference/opérateurs/compréhensions_de_tableau/index.html
+++ /dev/null
@@ -1,209 +0,0 @@
----
-title: Compréhensions de tableau
-slug: Web/JavaScript/Reference/Opérateurs/Compréhensions_de_tableau
-tags:
- - JavaScript
- - Non-standard
- - Obsolete
- - Opérateurs
- - Reference
-translation_of: Archive/Web/JavaScript/Array_comprehensions
----
-<div>{{jsSidebar("Operators")}}{{Obsolete_Header(58)}}</div>
-
-<div class="warning"><strong>Non-standard. Ne pas utiliser !</strong><br>
-Les compréhensions de tableau ne sont pas standard et ont été retirées à partir de Firefox 58. Pour obtenir des fonctionnalités équivalentes, il est conseillés d'utiliser {{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Fonctions/Fonctions_fléchées", "les fonctions fléchées", "", 1)}} et la{{jsxref("Opérateurs/Opérateurs/Affecter_par_décomposition", "décomposition", "", 1)}}.</div>
-
-<p>La syntaxe de <strong>compréhension de tableau</strong> était une expression JavaScript permettant de construire rapidement un nouveau tableau à partir d'un tableau existant. Toutefois, cette syntaxe a été retirée du standard et de l'implémentation qui en est faite par Firefox. Elle ne doit pas être utilisée.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">[for (x of itérable) x]
-[for (x of itérable) if (condition) x]
-[for (x of itérable) for (y of itérable) x + y]
-</pre>
-
-<h2 id="Description">Description</h2>
-
-<p>Dans une compréhension de tableau, on peut utiliser deux types de composants :</p>
-
-<ul>
- <li>{{jsxref("Instructions/for...of", "for...of")}} et</li>
- <li>{{jsxref("Instructions/if...else", "if")}}</li>
-</ul>
-
-<p>L'itération basée sur <code>for...of</code> sera toujours le premier composant. On peut utiliser plusieurs <code>for...of</code> ou instructions <code>if</code>.</p>
-
-<p>Les compréhensions de tableau furent proposées pour être standardisées avec ECMAScript 2016. Elles fournissent une notation raccourcie pour pouvoir construire un nouveau tableau basé sur le contenu d'un autre tableau. Les compréhensions sont proches des fonctions {{jsxref("Array.prototype.map", "map()")}} et {{jsxref("Array.prototype.filter", "filter()")}} qui peuvent être combinées pour arriver au même effet.</p>
-
-<p>La compréhension qui suit prend un tableau de nombres et crée un nouveau tableau qui contiendra les doubles de chaque élément :</p>
-
-<pre class="brush: js">var nombres = [1, 2, 3, 4];
-var doublés = [for (i of nombres) i * 2];
-console.log(doublés); // affiche 2,4,6,8
-</pre>
-
-<p>Cela est équivalent à l'opération suivante, qui utilise {{jsxref("Array.prototype.map", "map()")}} :</p>
-
-<pre class="brush: js">var doublés = nombres.map(i =&gt; i * 2);
-</pre>
-
-<p>Les compréhensions peuvent également être utilisées pour sélectionner certains éléments qui respectent un critère donné. Voici par exemple une compréhension qui ne sélectionne que les nombres pairs :</p>
-
-<pre class="brush: js">var nombres = [1, 2, 3, 21, 22, 30];
-var pairs = [for (i of nombres) if (i % 2 === 0) i];
-console.log(pairs); // affiche 2,22,30
-</pre>
-
-<p>Ici, la méthode {{jsxref("Array.prototype.filter", "filter()")}} peut être utilisée pour parvenir au même résultat :</p>
-
-<pre class="brush: js">var pairs = nombres.filter(i =&gt; i % 2 === 0);
-</pre>
-
-<p>{{jsxref("Array.prototype.map", "map()")}} et {{jsxref("Array.prototype.filter", "filter()")}} peuvent être utilisés pour traduire une compréhension de tableau.</p>
-
-<p>Voici un autre exemple de compréhension, qui ne prend que les nombres pairs et qui les double :</p>
-
-<pre class="brush: js">var nombres = [1, 2, 3, 21, 22, 30];
-var pairsDoublés = [for (i of nombres) if (i % 2 === 0) i * 2];
-console.log(pairsDoublés); // affiche 4,44,60
-</pre>
-
-<p>Les crochets d'une compréhension introduisent un bloc implicite pour les portées. Les nouvelles variables (comme <code>i</code> dans l'exemple), sont traitées comme si elles avaient été déclarées avec {{jsxref("Instructions/let","let")}}. Cela signifie donc que ces variables ne pourront pas être utilisées en dehors de la compréhension.</p>
-
-<p>L'élément d'entrée d'une compréhension de tableau ne doit pas nécessairement être un tableau, il est également possible d'utiliser <a href="/fr/docs/Web/JavaScript/Guide/iterateurs_et_generateurs">des itérateurs et des générateurs</a>.</p>
-
-<p>Une chaîne de caractères peut aussi être utilisé comme élément de départ :</p>
-
-<pre class="brush: js">var str = 'abcdef';
-var consonnes = [for (c of str) if (!(/[aeiouyAEIOUY]/).test(c)) c].join(''); // 'bcdf'
-var avecZéros = [for (c of str) c+'0' ].join(''); // 'a0b0c0d0e0f0'
-</pre>
-
-<p>Là encore, la structure de l'élément d'entrée n'est pas préservée, il faut donc utiliser {{jsxref("Array.prototype.join", "join()")}} pour récupérer une chaîne.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<h3 id="Compréhensions_de_tableaux_simples">Compréhensions de tableaux simples</h3>
-
-<pre class="brush:js">[for (i of [ 1, 2, 3 ]) i*i ];
-// [ 1, 4, 9 ]
-
-var abc = [ "A", "B", "C" ];
-[for (lettres of abc) lettres.toLowerCase()];
-// [ "a", "b", "c" ]</pre>
-
-<h3 id="Compréhensions_de_tableaux_utilisant_if">Compréhensions de tableaux utilisant <code>if</code></h3>
-
-<pre class="brush: js">var années = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-[for (année of années) if (année &gt; 2000) année];
-// [ 2006, 2010, 2014 ]
-[for (année of années) if (année &gt; 2000) if(année &lt; 2010) année];
-// [ 2006 ] qui correspond aussi à
-[for (année of années) if (année &gt; 2000 &amp;&amp; année &lt; 2010) année];
-// [ 2006 ]</pre>
-
-<h3 id="Comparaison_avec_map_et_filter">Comparaison avec <code>map</code> et <code>filter</code></h3>
-
-<p>Afin de mieux comprendre la syntaxe des compréhensions, on peut la comparer avec les méthodes de l'objet Array {{jsxref("Array.map", "map")}} et {{jsxref("Array.filter", "filter")}} :</p>
-
-<pre class="brush: js">var nombres = [ 1, 2, 3 ];
-
-nombres.map(function (i) { return i * i });
-nombres.map(i =&gt; i*i);
-[for (i of nombres) i*i ];
-// tous vaudront [ 1, 4, 9 ]
-
-nombres.filter(function (i) { return i &lt; 3 });
-nombres.filter(i =&gt; i &lt; 3);
-[for (i of nombres) if (i &lt; 3) i];
-// on obtiendra [ 1, 2 ] pour ces trois instructions
-</pre>
-
-<h3 id="Les_compréhensions_manipulant_deux_tableaux">Les compréhensions manipulant deux tableaux</h3>
-
-<p>On peut itérer deux fois avec <code>for...of</code> afin de travailler avec deux tableaux :</p>
-
-<pre class="brush: js">var nombres = [ 1, 2, 3 ];
-var lettres = [ "a", "b", "c" ];
-
-var produitCartésien = [for (i of nombres) for (j of lettres) i+j];
-// [ "1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c" ]
-
-var grille = [for (i of nombres) [for (j of lettres) i+j]];
-// [
-// ["1a", "1b", "1c"],
-// ["2a", "2b", "2c"],
-// ["3a", "3b", "3c"]
-// ]
-
-[for (i of nombres) if (i &gt; 1) for (j of lettres) if(j &gt; "a") i+j]
-// ["2b", "2c", "3b", "3c"], correspond à :
-
-[for (i of nombres) for (j of lettres) if (i &gt; 1) if(j &gt; "a") i+j]
-// ["2b", "2c", "3b", "3c"]
-
-[for (i of nombres) if (i &gt; 1) [for (j of lettres) if(j &gt; "a") i+j]]
-// [["2b", "2c"], ["3b", "3c"]], ne correspond pas à :
-
-[for (i of nombres) [for (j of lettres) if (i &gt; 1) if(j &gt; "a") i+j]]
-// [[], ["2b", "2c"], ["3b", "3c"]]
-</pre>
-
-<h2 id="Spécifications">Spécifications</h2>
-
-<p>Ce point faisait initialement partie du brouillon ECMAScript 2015 mais fut retiré dans la révision 27 (août 2014). Veuillez vous référer aux révisions précédentes pour la sémantique utilisée.</p>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.operators.array_comprehensions")}}</p>
-
-<h2 id="Notes_spécifiques_relatives_à_l'implémentation_de_SpiderMonkey">Notes spécifiques relatives à l'implémentation de SpiderMonkey</h2>
-
-<ul>
- <li><a href="/fr/docs/Web/JavaScript/Reference/Instructions/let"><code>let</code></a> en tant qu'identifiant n'est plus supporté. <code>let</code> est seulement disponible pour JS 1.7 et les balises des scripts XUL.</li>
- <li>La déconstruction des tableaux n'est pas encore supportée.</li>
-</ul>
-
-<h2 id="Différences_avec_les_compréhensions_précédentes_JS1.7JS1.8">Différences avec les compréhensions précédentes JS1.7/JS1.8</h2>
-
-<div class="warning">
-<p>Les compréhensions « JS1.7 / JS1.8 » ont été retirées à partir de Gecko 46 ({{bug(1220564)}}).</p>
-</div>
-
-<p><strong>Ancienne syntaxe pour les compréhensions (ne plus l'utiliser) :</strong></p>
-
-<pre class="brush: js example-bad">[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-</pre>
-
-<p>Les différences :</p>
-
-<ul>
- <li>Les compréhensions ESNext créent une portée par nœud «for » au lieu d'une portée par compréhension.
- <ul>
- <li>Ancienne syntaxe : <code>[()=&gt;x for (x of [0, 1, 2])][1]() // 2</code></li>
- <li>Nouvelle syntaxe : <code>[for (x of [0, 1, 2]) ()=&gt;x][1]() // 1, </code>chaque itération crée une nouvelle liaison pour <code>x</code>.</li>
- </ul>
- </li>
- <li>Les compréhensions ESNext débutent avec "for" et non plus avec une expression d'assignation :
- <ul>
- <li>Ancienne syntaxe : <code>[i * 2 for (i of nombres)]</code></li>
- <li>Nouvelle syntaxe : <code>[for (i of nombres) i * 2]</code></li>
- </ul>
- </li>
- <li>Les compréhensions ESNext peuvent comporter plusieurs composants <code>if</code> et <code>for</code>.</li>
- <li>Les compréhensions ESNext ne fonctionnent qu'avec <code>{{jsxref("Instructions/for...of", "for...of")}}</code> et ne fonctionnent pas avec  <code>{{jsxref("Instructions/for...in", "for...in")}}</code>.</li>
-</ul>
-
-<p>Pour quelques suggestions pour migrer du code, voir le bug {{bug("1220564")}} et notamment le commentaire #42.</p>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Instructions/for...of", "for...of")}}</li>
- <li>{{jsxref("Opérateurs/Compréhensions_de_générateurs", "Les compréhensions de générateurs", "" ,1)}}</li>
-</ul>
diff --git a/files/fr/web/javascript/reference/opérateurs/expression_closures/index.html b/files/fr/web/javascript/reference/opérateurs/expression_closures/index.html
deleted file mode 100644
index a80e576883..0000000000
--- a/files/fr/web/javascript/reference/opérateurs/expression_closures/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Expression closures
-slug: Web/JavaScript/Reference/Opérateurs/Expression_closures
-tags:
- - Functions
- - JavaScript
- - Non-standard
- - Obsolete
- - Reference
-translation_of: Archive/Web/JavaScript/Expression_closures
----
-<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}}</div>
-
-<div class="warning"><strong>Opérateur non-standard, ne pas utiliser !</strong><br>
-Cette syntaxe est une fonctionnalité dépréciée, spécifique à Firefox et qui a été retirée avec Firefox 60. En remplacement, il est préférable d'utiliser <a href="/fr/docs/Web/JavaScript/Reference/fonctions_fléchées">les fonctions fléchées</a>.</div>
-
-<p>Les expressions de fermetures sont une notation de raccourci pour écrire des fonctions simples.</p>
-
-<h2 id="Syntaxe">Syntaxe</h2>
-
-<pre class="syntaxbox">function [<em>nom</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]])
- <em>expression</em>
-</pre>
-
-<h3 id="Paramètres">Paramètres</h3>
-
-<dl>
- <dt><code>nom</code></dt>
- <dd>Le nom de la fonction, ce paramètre est optionnel. S'il n'est pas utilisé, la fonction sera <em>anonyme</em>. Le nom de cette fonction est local uniquement pour le corps de la fonction.</dd>
- <dt><code>paramN</code></dt>
- <dd>Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments.</dd>
- <dt><code>expression</code></dt>
- <dd>L'expression qui correspond au corps de la fonction.</dd>
-</dl>
-
-<h2 id="Description">Description</h2>
-
-<p>Cet élément du langage n'est qu'une notation raccourcie pour l'écriture de fonctions simples. Il permet d'approcher un peu plus d'une notation correspondant au <a href="https://fr.wikipedia.org/wiki/Lambda-calcul">lambda calcul</a>.</p>
-
-<p>Pour les versions de JavaScript antérieures ou égales à 1.7 :</p>
-
-<pre class="brush: js">function(x) { return x * x; }</pre>
-
-<p>Avec JavaScript 1.8 :</p>
-
-<pre class="brush: js">function(x) x * x</pre>
-
-<p>Cette syntaxe permet de ne pas utiliser les accolades et l'instruction <code>return</code> (ici implicite). En dehors de la concision syntaxique, cet opérateur n'apporte pas d'autre avantage.</p>
-
-<h2 id="Exemples">Exemples</h2>
-
-<p>Un raccourci pour ajouter des gestionnaires d'événements :</p>
-
-<pre class="brush: js"> document.addEventListener("click", function() false, true);
-</pre>
-
-<p>On peut utiliser cette notation avec les fonctions introduites pour les tableaux avec JavaScript 1.6 :</p>
-
-<pre class="brush: js">elems.some(function(elem) elem.type == "text");
-</pre>
-
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
-
-<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
-
-<p>{{Compat("javascript.operators.expression_closures")}}</p>
-
-<h3 id="Notes_de_compatibilité">Notes de compatibilité</h3>
-
-<ul>
- <li>À partir de Gecko / SpiderMonkey 45 {{geckoRelease(45)}}, des avertissements dans la console sont ajoutés aux fermetures d'expression ({{bug(995610)}}).</li>
- <li>La syntaxe <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/Expression_closures">des expressions de fermetures</a> (<em>closure expression</em>) n'est pas autorisée dans les fonctions asynchrones. Cela déclenchera une exception {{jsxref("SyntaxError")}} à partir de Firefox 55.</li>
-</ul>
-
-<h2 id="Voir_aussi">Voir aussi</h2>
-
-<ul>
- <li>{{jsxref("Fonctions", "Fonctions et portées de fonctions")}}</li>
- <li>{{jsxref("Objets_globaux/Function","l'objet Function")}}</li>
- <li>{{jsxref("Instructions/function", "instruction function")}}</li>
- <li>{{jsxref("Opérateurs/L_opérateur_function", "expression function")}}</li>
- <li>{{jsxref("Instructions/function*", "instruction function*")}}</li>
- <li>{{jsxref("Opérateurs/function*", "expression function*")}}</li>
- <li>{{jsxref("Objets_globaux/GeneratorFunction", "l'objet GeneratorFunction")}}</li>
-</ul>