From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- .../fonctions/arguments/caller/index.html | 54 ------ .../instructions/for_each...in/index.html | 80 -------- .../objets_globaux/array/observe/index.html | 90 --------- .../objets_globaux/array/unobserve/index.html | 89 --------- .../objets_globaux/arraybuffer/transfer/index.html | 100 ---------- .../objets_globaux/date/tolocaleformat/index.html | 80 -------- .../objets_globaux/function/arity/index.html | 32 ---- .../objets_globaux/function/isgenerator/index.html | 53 ------ .../objets_globaux/number/tointeger/index.html | 56 ------ .../objets_globaux/object/count/index.html | 42 ----- .../objets_globaux/object/eval/index.html | 47 ----- .../objets_globaux/object/getnotifier/index.html | 53 ------ .../objets_globaux/object/nosuchmethod/index.html | 76 -------- .../objets_globaux/object/observe/index.html | 154 --------------- .../objets_globaux/object/parent/index.html | 42 ----- .../objets_globaux/object/unobserve/index.html | 103 ---------- .../objets_globaux/object/unwatch/index.html | 70 ------- .../objets_globaux/object/watch/index.html | 150 --------------- .../objets_globaux/parallelarray/index.html | 56 ------ .../objets_globaux/stopiteration/index.html | 115 ------------ .../objets_globaux/string/quote/index.html | 72 ------- .../index.html" | 183 ------------------ .../compr\303\251hensions_de_tableau/index.html" | 209 --------------------- .../expression_closures/index.html" | 85 --------- 24 files changed, 2091 deletions(-) delete mode 100644 files/fr/web/javascript/reference/fonctions/arguments/caller/index.html delete mode 100644 files/fr/web/javascript/reference/instructions/for_each...in/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/array/observe/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/array/unobserve/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/arraybuffer/transfer/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/date/tolocaleformat/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/function/arity/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/function/isgenerator/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/number/tointeger/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/count/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/eval/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/getnotifier/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/nosuchmethod/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/observe/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/parent/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/unwatch/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/object/watch/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/parallelarray/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/stopiteration/index.html delete mode 100644 files/fr/web/javascript/reference/objets_globaux/string/quote/index.html delete mode 100644 "files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_g\303\251n\303\251rateur/index.html" delete mode 100644 "files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_tableau/index.html" delete mode 100644 "files/fr/web/javascript/reference/op\303\251rateurs/expression_closures/index.html" (limited to 'files/fr/web/javascript/reference') 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 ---- -
{{jsSidebar("Functions")}}{{obsolete_header}}
- -
La propriété obsolète arguments.caller é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.
- -

Description

- -

Cette propriété n'est plus disponible. Vous pouvez en revanche utiliser {{jsxref("Function.caller")}}.

- -
function quiAppelle() {
-   if (quiAppelle.caller == null)
-      console.log('Appel depuis la portée globale.');
-   else
-      console.log(quiAppelle.caller + ' a appelé !');
-}
- -

Exemples

- -

Le code suivant pouvait être utilisé pour connaître la valeur de arguments.caller dans une fonction. La propriété étant obsolète, le code ne fonctionne plus.

- -
function quiAppelle() {
-   if (arguments.caller == null)
-      console.log('Appel depuis la portée globale.');
-   else
-      console.log(arguments.caller + ' a appelé !');
-}
-
- -

Spécifications

- -

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.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.functions.arguments.caller")}}

- -

Voir aussi

- - 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 ---- -
{{JsSidebar("Statements")}}{{deprecated_header}}
- -
-

L'instruction for each...in est dépréciée car elle appartient au standard ECMA-357 (E4X). 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")}}.)
- Firefox lance désormais des avertissements lorsque des boucles for each...in et cette instruction a été retirée du canal Nightly.
- Veuillez consulter l'article sur cet avertissement pour des indications quant aux solutions de migration.

-
- -

L'instruction for each...in 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.

- -

Syntaxe

- -
for each (variable in objet) {
-  instruction
-}
- -
-
variable
-
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.
-
- -
-
objet
-
L'objet pour lequel les propriétés sont itérées.
-
- -
-
instruction
-
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)}} ({ ... }) pour regrouper les instructions.
-
- -

Description

- -

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 indexOf des chaînes de caractères.

- -

Exemple

- -

Utiliser for each...in

- -

Attention : 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")}}).

- -

Le fragment de code parcourt les propriétés d'un objet et en calcule leur somme.

- -
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
- -

Spécifications

- -

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.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.statements.for_each_in")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

La méthode Array.observe() 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 ["add", "update", "delete", "splice"] 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.

- -

Syntaxe

- -
Array.observe(arr, callback)
- -

Paramètres

- -
-
arr
-
Le tableau qu'on souhaite observer.
-
callback
-
La fonction à appeler à chaque fois que des changements sont effectués. Cette fonction est appelée avec l'argument suivant : -
-
changes
-
Un tableau d'objets représentant chacun une modification. Les propriétés de ces objets sont : -
    -
  • name : Le nom de la propriété qui a été modifiée.
  • -
  • object : Le tableau modifié (une fois que la modification a été effectuée).
  • -
  • type : Une chaîne de caractères indiquant le type de modification qui a eu lieu. Elle peut valoir "add" (pour ajout), "update" (pour modification), "delete"(pour suppression) ou "splice" (pour découpage).
  • -
  • oldValue : Propriété présente uniquement lorsque le type vaut "update" ou "delete". La valeur de la propriété est la valeur avant qu'elle ait été modifiée.
  • -
  • index : Propriété présente uniquement lorsque le type vaut "splice". L'index auquel la modification a eu lieu.
  • -
  • removed : Propriété présente uniquement lorsque le type vaut "splice". Le tableau des éléments supprimés.
  • -
  • addedCount : Propriété uniquement présente lorsque le type vaut "splice". Le nombre d'éléments ajoutés.
  • -
-
-
-
-
- -

Description

- -

La fonction callback est appelée à chaque fois qu'un changement est apporté à arr, 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. 

- -
-

Les modifications apportées avec les méthodes d'Array, comme Array.prototype.pop(), seront enregistrées avec le type "splice". Les modifications d'éléments qui ne modifient pas la longueur du tableau sont enregistrés en tant qu'update".

-
- -

Exemples

- -

Enregistrer les différents types de modifications

- -
var arr = ['a', 'b', 'c'];
-
-Array.observe(arr, function(changes) {
-  console.log(changes);
-});
-
-arr[1] = 'B';
-// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}]
-
-arr[3] = 'd';
-// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}]
-
-arr.splice(1, 2, 'beta', 'gamma', 'delta');
-// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c'], addedCount: 3}]
-
- -

Spécifications

- -

Proposition de spécification (Strawman proposal) (en anglais).

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Array.observe")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

La méthode Array.unobserve() 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.

- -

Syntaxe

- -
Array.unobserve(arr, callback)
- -

Paramètres

- -
-
arr
-
Le tableau qu'on souhaite arrêter d'observer.
-
callback
-
La référence à l'observateur dont on souhaite qu'il arrête d'être appelé à chaque changement apporté au tableau arr.
-
- -

Description

- -

Array.unobserve() doit être appelé après {{jsxref("Array.observe()")}} afin de retirer un observateur du tableau.

- -

La fonction de rappel (callback) 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 Array.unobserve() avec une fonction anonyme comme paramètre de callback, cela ne retirera aucun observateur.

- -

Exemples

- -

Arrêter d'observer un tableau

- -
var arr = [1, 2, 3];
-
-var observateur = function(changements) {
-  console.log(changements);
-}
-
-Array.observe(arr, observateur);
-​
-arr.push(4);
-// [{type: "splice", object: <arr>, index: 3, removed:[], addedCount: 1}]
-
-Array.unobserve(arr, observateur);
-
-arr.pop();
-// Le callback n'a pas été appelé
- -

Utiliser une fonction anonyme

- -
var personnes = ['Khalid', 'Ahmed', 'Mohammed'];
-
-Array.observe(personnes, function (changements) {
-  console.log(changements);
-});
-
-personnes.shift();
-// [{type: "splice", object: <arr>, index: 0, removed: [ "Khalid" ], addedCount: 0 }]
-
-Array.unobserve(personnes, function (changements) {
-  console.log(changements);
-});
-
-personnes.push('Abdullah');
-// [{type: "splice", object: <arr>, index: 2, removed: [], addedCount: 1 }]
-// Le callback est toujours appelé
-
- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Array.unobserve")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{SeeCompatTable}}
- -

La méthode statique ArrayBuffer.transfer() renvoie un nouvel objet ArrayBuffer dont le contenu a été transféré depuis les données d'ancienBuffer et qui est soit tronqué soit complété avec des zéros pour que la longueur du nouvel objet soit égale à nouvelleLongueur. Si nouvelleLongueur vaut undefined, on utilisera la propriété byteLength de l'ancienBuffer. Cette opération fait que ancienBuffer sera dans un état détaché.

- -

Syntaxe

- -
ArrayBuffer.transfer(ancienBuffer [, nouvelleLongueur]);
- -

Paramètres

- -
-
ancienBuffer
-
Un objet {{jsxref("ArrayBuffer")}} à partir duquel on souhaite transférer des données.
-
nouvelleLongueur
-
La longueur, exprimée en octets, du nouvel objet ArrayBuffer.
-
- -

Valeur de retour

- -

Un nouvel objet ArrayBuffer.

- -

Description

- -

La méthode ArrayBuffer.transfer() permet d'agrandir et de détacher des objets ArrayBuffer. Le fait de pouvoir agrandir un ArrayBuffer sans effectuer de copie permet d'être beaucoup plus efficace sur les grands buffers (comme pour realloc). Le fait de pouvoir détacher un ArrayBuffer 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.

- -

Exemples

- -
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
-
- -

Prothèse d'émulation (polyfill)

- -

Ce fragment de code permet d'obtenir la plupart des fonctionnalités de transfer() 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 ArrayBuffer vers un autre.

- -
if (!ArrayBuffer.transfer) {
-    ArrayBuffer.transfer = function(source, length) {
-        if (!(source instanceof ArrayBuffer))
-            throw new TypeError('Source must be an instance of ArrayBuffer');
-        if (length <= source.byteLength)
-            return source.slice(0, length);
-        var sourceView = new Uint8Array(source),
-            destView = new Uint8Array(new ArrayBuffer(length));
-        destView.set(sourceView);
-        return dest.buffer;
-    };
-}
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
Proposition pour ArrayBuffer.prototype.transferBrouillonBrouillon de niveau 2
- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.ArrayBuffer.transfer")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{Non-standard_header}}
- -

La méthode non-standard toLocaleFormat() 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()")}}.

- -
-

Attention, cette fonction a été  retirée à partir de Firefox 58. Voir l'article sur cet avertissement pour plus d'informations et d'éléments pour migrer le code concerné.

-
- -

Syntaxe

- -
dateObj.toLocaleFormat(formatTexte)
- -

Paramètres

- -
-
formatTexte
-
Une chaîne de caractères formattée selon les attentes de la fonction strftime() en C.
-
- -

Valeur de retour

- -

Une chaîne de caractères qui représente la date indiquée avec le formatage décrit par l'argument.

- -

Description

- -

La méthode toLocaleFormat() 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.

- -

Les développeurs de modules et XULRunner doivent savoir que charger directement le chaîne de formattage depuis un fichier .dtd ou .properties en utilisant chrome://somedomain/locale/somefile.ext doit être évité, car le fichier dtd/properties et la méthode toLocaleFormat() n'utilisent pas forcément la même locale, ce qui peut produire des résultats ambigües, ou des dates illisibles.

- -

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 toLocale* de l'objet {{jsxref("Date")}}, ou créer votre localisation personnalisée de la date à partir des méthodes get* de l'objet Date.

- -

Utiliser toLocaleFormat()

- -
var aujourdhui = new Date();
-var date = aujourdhui.toLocaleFormat("%A, %B %e, %Y"); // A ne pas faire
-
- -

Dans cet exemple, toLocaleFormat() 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.

- -

Prothèse d'émulation (polyfill)

- -

En utilisant la bibliothèque DateJS, il est possible d'émuler {{jsxref("Date.prototype.toLocaleDateString()")}} pour des environnements qui n'en disposent pas nativement :

- -
if (!Date.prototype.toLocaleFormat) {
-    (function() {
-        Date.prototype.toLocaleFormat = function(formatString) {
-            return this.format(formatString);
-        };
-    }());
-}
- -

Spécifications

- -

Ne fait partie d'aucune spécification. Implémentée avec JavaScript 1.6.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.Date.toLocaleFormat")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{Obsolete_header}}
- -

La propriété arity é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")}}.

- -

Spécifications

- -

Implémentée avec JavaScript 1.2. Obsolète depuis JavaScript 1.4.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Function.arity")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{Non-standard_header}}
- -

La méthode non-standard isGenerator() permettait de déterminer si une fonction était un générateur. Cette fonction a été retirée de Firefox à partir de Firefox 58.

- -

Syntaxe

- -
fun.isGenerator()
- -

Valeur de retour

- -

Un booléen indiquant si la fonction appelante est un générateur.

- -

Description

- -

La méthode isGenerator() permet de déterminer si la fonction fun est un générateur. Elle faisait partie des propositions pour Harmony mais n'a pas été retenue pour la spécification ECMAScript 2015.

- -

Exemples

- -
function f () { }
-
-function* g () {
-  yield 42;
-}
-
-console.log("f.isGenerator() = " + f.isGenerator()); // f.isGenerator() = false
-console.log("g.isGenerator() = " + g.isGenerator()); // g.isGenerator() = true
-
- -

Spécifications

- -

Cette méthode ne fait partie d'aucune spécification. Elle a été implémentée avec JavaScript 1.8.6.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.Function.isGenerator")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{obsolete_header}}
- -

La méthode Number.toInteger() est utilisée pour évaluer la valeur passée en argument et la convertir en entier. Son implémentation a été supprimée.

- -

Si la valeur à convertir est {{jsxref("NaN")}}, {{jsxref("null")}} ou {{jsxref("undefined")}}, 0 sera renvoyé.
- Si la valeur à convertir est false, 0 sera renvoyé, si c'est true, 1 sera renvoyé.

- -

Syntaxe

- -
Number.toInteger(nombre)
- -

Paramètres

- -
-
nombre
-
La valeur à convertir en entier.
-
- -

Exemples

- -

Utiliser toInteger

- -

Voici quelques exemples utilisant la méthode :

- -
Number.toInteger(0.1),     // 0
-Number.toInteger(1),       // 1
-Number.toInteger(Math.PI), // 3
-Number.toInteger(null)     // 0
-
- -

Spécifications

- -

Number.toInteger faisait partie de la spécification ECMAScript 6 mais a été retirée le 23/08/2013 dans la révision 17 du brouillon (draft).

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.Number.toInteger")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{Non-standard_Header}}{{obsolete_header("gecko2")}}
- -

La propriété __count__ était utilisée pour compter les propriétés énumérables d'un objet mais a été retiréee.

- -

Syntaxe

- -
obj.__count__
- -

Exemples

- -
{ 1: 1 }.__count__              // 1
-[].__count__                    // 0
-[1].__count__                   // 1
-[1, /* trou */, 2, 3].__count__ // 3
- -

Spécifications

- -

Cette propriété n'appartient à aucune spécification.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.Object.count")}}

- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

La méthode Object.eval() 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.

- -

Syntaxe

- -
obj.eval(string)
- -

Paramètres

- -
-
string
-
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.
-
- -

Description

- -

La méthode eval ne peut plus être utilisée à partir d'un objet. Il faut utiliser la méthode {{jsxref("eval", "eval")}} à la place.

- -

Spécifications

- -

Cette méthode ne fait partie d'aucune spécification.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.eval")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{obsolete_header}}
- -

La méthode Object.getNotifer() est utilisée pour créer un objet qui permet de déclencher des changements (tels que perçus par Object.observe()) de façon synthétique. Cette API a été dépréciée et retirée des navigateurs.

- -

Syntaxe

- -
Object.getNotifier(obj)
- -

Paramètres

- -
-
obj
-
L'objet dont on souhaite récupérer le notificateur (notifier) associé.
-
- -

Valeur de retour

- -

L'objet de notification associé à l'objet passé en argument.

- -

Description

- -

Le notificateur est utilisé pour déclencher des changements qui pourront être observés avec Object.observe().

- -

Spécifications

- -

Proposition de spécification.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.getNotifier")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko43")}}
- -

La propriété __noSuchMethod__ é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.

- -

Si __noSuchMethod__ a été abandonnée, la spécification ECMAScript 2015 (ES6) fournit les objets Proxy qui permettent de réaliser ce qui pouvait être fait avec cette propriété (et plus encore).

- -

Syntaxe

- -
obj.__noSuchMethod__ = fun
- -

Paramètres

- -
-
fun
-
Une fonction de la forme
-
-
function (id, args) { . . . }
- -
-
id
-
Le nom de la méthode qui n'est pas définie pour l'objet et qui a été appelée.
-
args
-
Le tableau d'arguments passé à la méthode.
-
-
-
- -

Description

- -

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é __noSuchMethod__. 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")}}.

- -

Si cette méthode ne peut être appelée, soit parce qu'elle vaut undefined (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 TypeError.

- -

Exemples

- -

Un test simple avec __noSuchMethod__

- -
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 ()
-
- -

Spécifications

- -

Cette propriété ne fait partie d'aucune spécification et a été retirée : voir le {{bug(683218)}}.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.noSuchMethod")}}

-
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 ---- -
{{JSRef}}{{obsolete_header}}
- -

La méthode Object.observe() 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")}}.

- -

Syntaxe

- -
Object.observe(obj, callback[,listeChangements])
- -

Paramètres

- -
-
obj
-
L'objet qu'on souhaite observer.
-
callback
-
La fonction qui est appelée à chaque fois qu'un changement est effectué. Elle est invoquée avec l'argument suivant : -
-
changes
-
Un tableau d'objets dont chaque élément représente une modification. Les propriétés de ces objets sont : -
    -
  • name : Le nom de la propriété qui a été modifiée.
  • -
  • object : L'objet modifié une fois le changement apporté.
  • -
  • type : Une chaîne de caractères qui indique le type de modification qui a eu lieu. Elle peut valoir "add", "update", ou "delete".
  • -
  • oldValue : Propriété présente uniquement pour les types "update" et "delete". Elle correspond à la valeur de l'objet avant la modification.
  • -
-
-
-
-
listeChangements
-
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 ["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"].
-
- -

Valeur de retour

- -

L'objet qu'on souhaite observer.

- -

Description

- -

La fonction callback est appelée chaque fois qu'une modification est apportée à obj avec comme argument le tableau listant l'ensemble des modifications, dans l'ordre dans lequel elles se sont produites.

- -

Exemples

- -

Enregistrer les différents types de modifications

- -
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: <obj>, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-//  [{name: '__proto__',object: <obj>, type: 'setPrototype', oldValue: <prototype>}]
-
-Object.seal(obj);
-// [
-//    {name: 'toto', object: <obj>, type: 'reconfigure'},
-//    {name: 'machin', object: <obj>, type: 'reconfigure'},
-//    {object: <obj>, type: 'preventExtensions'}
-// ]
-
- -

Lier des données

- -
// 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();
-    }
-  });
-});
-
- -

Exemple : Enregistrer des changements personnalisés

- -
// 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
- -

Spécifications

- -

Proposition de spécification (straw man proposal).

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.observe")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko2")}}
- -

La propriété __parent__ était utilisée pour pointer vers le contexte d'un objet mais elle a été supprimée.

- -

Syntaxe

- -
obj.__parent__
- -

Description

- -

Pour les objets de plus haut niveau, on aurait eu window par exemple.

- -

Spécifications

- -

Cette propriété ne fait partie d'aucune spécification.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.parent")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}} {{obsolete_header}}
- -

La méthode Object.unobserve() 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")}}.

- -

Syntaxe

- -
Object.unobserve(obj, callback)
- -

Paramètres

- -
-
obj
-
L'objet qu'on souhaite arrêter d'observer.
-
callback
-
La référence vers l'observateur qu'on souhaite arrêter d'appeler à chaque fois qu'une modification est apportée à obj.
-
- -

Valeur de retour

- -

L'objet qui n'est plus observé.

- -

Description

- -

Object.unobserve() doit être appelé après {{jsxref("Object.observe()")}} afin de retirer un observateur d'un objet.

- -

La fonction de rappel (callback) 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 Object.unobserve() avec une fonction anonyme n'aura aucun effet, cela ne retirera aucun observateur.

- -

Exemples

- -

Arrêter l'observation un objet

- -
var obj = {
-  toto: 0,
-  truc: 1
-};
-
-var observer = function(changements) {
-  console.log(changements);
-}
-
-Object.observe(obj, observer);
-​
-obj.nouvelleProp = 2;
-// [{name: 'nouvelleProp', object: <obj>, type: 'add'}]
-
-Object.unobserve(obj, observer);
-
-obj.toto = 1;
-// La fonction callback n'a pas été appelée
- -

Utiliser une fonction anonyme

- -
var personne = {
-  name : 'Ahmed',
-  age : 25
-};
-
-Object.observe(personne, function (changements) {
-  console.log(changements);
-});
-
-personne.age = 40;
-// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}]
-
-Object.unobserve(personne, function (changements) {
-  console.log(changements);
-});
-
-personne.age = 63;
-// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}]
-// La fonction callback est toujours appelée
-
- -

Specifications

- -

Proposition de spécification (strawman proposal).

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.unobserve")}}

-
- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{Non-standard_header}}
- -
-

Méthode dépréciée ! Ne pas utiliser unwatch() et {{jsxref("Object.prototype.watch", "watch()")}}. En effet, ces deux méthodes n'étaient implémentées qu'avec Gecko et ont été retirées à partir de Firefox 58. De plus, l'ajout de points d'arrêts conditionnels a de graves impacts sur les performances, notamment sur les objets globaux comme window. Il est conseillé d'utiliser les accesseurs et mutateurs ou les proxies.

-
- -

La méthode unwatch() permet de retirer un point d'arrêt conditionnel créé par la méthode {{jsxref("Object.prototype.watch", "watch()")}}.

- -

Syntaxe

- -
obj.unwatch(prop)
- -

Paramètres

- -
-
prop
-
Le nom de la propriété dont on ne veut plus suivre l'état.
-
- -

Valeur de retour

- -

{{jsxref("undefined")}}.

- -

Description

- -

Le débogueur JavaScript possède plusieurs fonctionnalités, y compris celles offertes par cette fonction. Pour plus d'informations sur cet outil, voir le débogueur JavaScript.

- -

Par défaut, tous les objets qui descendent de {{jsxref("Object")}} héritent de cette méthode.

- -
-

Note : unwatch() utilise le nom d'une seule propriété comme paramètre. Ce comportement est expliqué avec la méthode {{jsxref("Object.watch", "watch()")}}.

-
- -

Exemples

- -

Voir {{jsxref("Object.watch", "watch()")}}.

- -

Spécifications

- -

Cette méthode ne fait partie d'aucune spécification. Implémentée avec JavaScript 1.2.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.unwatch")}}

-
- -

Notes de compatibilté

- -

Si on appelle unwatch() 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.

- -

Voir aussi

- - 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 ---- -
{{JSRef}}{{non-standard_header}}
- -
-

Méthode dépréciée ! Ne pas utiliser watch() 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. Elle sont retirées avec à partir de Firefox 58. De plus, l'ajout de points d'arrêts conditionnels a de graves impacts sur les performances, notamment sur les objets globaux comme window. Il est conseillé d'utiliser les accesseurs et mutateurs ou les proxies. Attention également à ne pas confondre {{jsxref("Object.prototype.watch", "Object.watch")}} et {{jsxref("Object.prototype.observe", "Object.observe")}}.

-
- -

La méthode watch() permet d'appeler une fonction lorsqu'une propriété est affectée.

- -

Syntaxe

- -
obj.watch(prop, handler)
- -

Paramètres

- -
-
prop
-
Le nom d'une propriété d'un objet dont on souhaite surveiller les changements.
-
handler
-
Une fonction à appeler quand la valeur de la propriété est modifiée.
-
- -

Valeur de retour

- -

{{jsxref("undefined")}}.

- -

Description

- -

Cette méthode permet de surveiller les assignations à une propriété appelée prop de l'objet courant, et appelle handler(prop, ancienneValeur, nouvelleValeur) dès que prop 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 nouvelleValeur modifiée (ou en renvoyant ancienneValeur).

- -

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é.

- -

Pour retirer un point de surveillance, utilisez la méthode {{jsxref("Object.unwatch", "unwatch()")}}/ Par défaut, la méthode watch est héritée par tous les objets descendant d'Object.

- -

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 le débogueur JavaScript.

- -

Dans Firefox, handler n'est appelé que pour les assignations par script, pas depuis du code natif. Par exemple, window.watch('location', myHandler) n'appellera pas myHandler si l'utilisateur clique sur un lien vers une cible dans le document courant. Par contre, window.location += '#myAnchor' appellera myHandler :

- -

Exemples

- -

Utiliser watch et unwatch

- -
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;
-
- -

Ce script affiche la sortie suivante :

- -
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
-
- -

Utiliser watch pour valider les propriétés d'un objet

- -

La méthode watch 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.

- -
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" && (!newval || newval.length > 30)) {
-    throw new RangeError("nom invalide pour " + this);
-  }
-  if (id == "age"  && (newval < 0 || newval > 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);
-}
-
- -

Ce script affichera la sortie suivante :

- -
Will, 29
-RangeError: nom invalide pour Will, 29
-RangeError: âge invalide pour Will, 29
-
- -

Spécifications

- -

Cette méthode ne fait partie d'aucune spécification. Elle a été implémentée avec JavaScript 1.2.

- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.Object.watch")}}

-
- -

Notes de compatibilité

- - - -

Voir aussi

- - 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 ---- -
{{jsSidebar("Objects")}}{{ obsolete_header}}
- -

Le but de ParallelArray 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 supportées par Firefox (article en anglais).

- -

Syntaxe

- -
new ParallelArray()
-new ParallelArray([element0, element1, ...])
-new ParallelArray(arrayLength, elementalFunction)
- -

Instances de ParallelArray

- -

Propriétés

- -
-
length
-
Indique le nombre d'éléments dans l'objet ParallelArray.
-
- -

Méthodes

- -
-
map
-
reduce
-
scan
-
scatter
-
filter
-
flatten
-
partition
-
get
-
- -

Exemples

- -

Utilisation de map en parallèle

- -
var p = new ParallelArray([0, 1, 2, 3, 4]);
-var m = p.map(function (v) {
-  return v + 1;
-});
- -

Voir aussi

- - 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 ---- -
{{jsSidebar("Objects")}}{{deprecated_header}}
- -
Non standard. L'objet StopIteration est une fonctionnalité propre à SpiderMonkey. Pour utiliser des fonctions pérennes, préférez les boucles {{jsxref("Instructions/for...of", "for...of")}} et le protocole itérateur.
- -

L'objet StopIteration 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.

- -

Syntaxe

- -
StopIteration
- -

Description

- -

StopIteration 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).

- -

Exemples

- -

StopIteration est levée par l'objet {{jsxref("Objets_globaux/Iterator", "Iterator")}}.

- -
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
-
- -

Lever StopIteration directement.

- -
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
-}
-
- -

Spécifications

- -

Non standard. Ne fait partie d'aucun standard.

- -

Compatibilité des navigateurs

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
FonctionnalitéChromeFirefox (Gecko)Internet ExplorerOperaSafari
Support simple{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéAndroidChrome pour AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Support simple{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Voir aussi

- - 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 ---- -
{{obsolete_header("37")}}{{JSRef}} {{Non-standard_header}}
- -

La méthode quote() 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 (").

- -

Syntaxe

- -
str.quote()
- -

Valeur de retour

- -

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.

- -

Exemples

- -

Le tableau suivant illustre comment la méthode quote 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 eval évalue les séquences d'échappement à nouveau.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
strstr.quote()eval(str.quote())
Coucou monde !"Coucou monde !"Coucou monde !
Coucou
-         monde !
"Coucou\n\tmonde !"Coucou
-         monde !
" \ — '"\" \\ \u2014 '"" \ — '
- -

Spécifications

- -

Aucune. Cette méthode ne fait partie d'aucun standard. Elle a été implémentée avec JavaScript 1.3.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.String.quote")}}

- -

Voir aussi

- - diff --git "a/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_g\303\251n\303\251rateur/index.html" "b/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_g\303\251n\303\251rateur/index.html" deleted file mode 100644 index 83682e6284..0000000000 --- "a/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_g\303\251n\303\251rateur/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 ---- -
{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}}
- -
Non-standard. Ne pas utiliser !
-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.
- -

La syntaxe de compréhension de générateur é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.

- -

Syntaxe

- -
(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)
-
- -

Description

- -

Une compréhension de générateur peut contenir deux sortes de composants :

- - - -

L'itération for-of est toujours le premier composant. Il est possible d'utiliser plusieurs itérations for-of et plusieurs instructions if.

- -

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.

- -

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.

- -

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 :

- -
var doubles = [for (i in it) i * 2];
-
- -

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 :

- -
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
-
- -

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 :

- -
var résultat = faireQuelqueChose(for (i in it) i * 2);
-
- -

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.

- -

Exemples

- -

Compréhensions simples

- -
(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"
-
- -

Compréhensions utilisant une instruction if

- -
var années = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-
-(for (année of années) if (année > 2000) année);
-// fonction génératrice qui générera 2006, 2010, et 2014
-
-(for (année of années) if (année > 2000) if(année < 2010) année);
-// fonction génératrice qui générera 2006, équivaut à :
-
-(for (année of années) if (année > 2000 && année < 2010) année);
-// fonction génératrice qui générera 2006
-
- -

Compréhensions de générateurs et fonctions génératrices

- -

Pour mieux comprendre la syntaxe des compréhensions, on peut la comparer avec celle des fonctions génératrices :

- -

Exemple 1 : Générateur simple.

- -
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 ]
-
- -

Second exemple : Un générateur avec if.

- -
var nombres = [ 1, 2, 3 ];
-
-// Fonction génératrice
-(function*() {
-  for (let i of nombres) {
-    if (i < 3) {
-      yield i * 1;
-    }
-  }
-})()
-
-// Compréhension
-(for (i of nombres) if (i < 3) i);
-
-// Résultat : les deux renvoient un générateur qui générera [ 1, 2 ]
- -

Spécifications

- -

É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.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.operators.generator_comprehensions")}}

- -

Notes relatives à l'implémentation de SpiderMonkey

- - - -

Différences avec les anciennes compréhensions JS 1.7 et JS 1.8

- -
-

Les compréhensions « JS1.7 / JS1.8 » ont été retirées à partir de Gecko 46 ({{bug(1220564)}}).

-
- -

Ancienne syntaxe pour les compréhensions (ne plus l'utiliser) :

- -
[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-
- -

Les différences :

- - - -

Voir aussi

- - diff --git "a/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_tableau/index.html" "b/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_de_tableau/index.html" deleted file mode 100644 index 17a61266a9..0000000000 --- "a/files/fr/web/javascript/reference/op\303\251rateurs/compr\303\251hensions_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 ---- -
{{jsSidebar("Operators")}}{{Obsolete_Header(58)}}
- -
Non-standard. Ne pas utiliser !
-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)}}.
- -

La syntaxe de compréhension de tableau é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.

- -

Syntaxe

- -
[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]
-
- -

Description

- -

Dans une compréhension de tableau, on peut utiliser deux types de composants :

- - - -

L'itération basée sur for...of sera toujours le premier composant. On peut utiliser plusieurs for...of ou instructions if.

- -

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.

- -

La compréhension qui suit prend un tableau de nombres et crée un nouveau tableau qui contiendra les doubles de chaque élément :

- -
var nombres = [1, 2, 3, 4];
-var doublés = [for (i of nombres) i * 2];
-console.log(doublés); // affiche 2,4,6,8
-
- -

Cela est équivalent à l'opération suivante, qui utilise {{jsxref("Array.prototype.map", "map()")}} :

- -
var doublés = nombres.map(i => i * 2);
-
- -

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 :

- -
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
-
- -

Ici, la méthode {{jsxref("Array.prototype.filter", "filter()")}} peut être utilisée pour parvenir au même résultat :

- -
var pairs = nombres.filter(i => i % 2 === 0);
-
- -

{{jsxref("Array.prototype.map", "map()")}} et {{jsxref("Array.prototype.filter", "filter()")}} peuvent être utilisés pour traduire une compréhension de tableau.

- -

Voici un autre exemple de compréhension, qui ne prend que les nombres pairs et qui les double :

- -
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
-
- -

Les crochets d'une compréhension introduisent un bloc implicite pour les portées. Les nouvelles variables (comme i 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.

- -

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 des itérateurs et des générateurs.

- -

Une chaîne de caractères peut aussi être utilisé comme élément de départ :

- -
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'
-
- -

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.

- -

Exemples

- -

Compréhensions de tableaux simples

- -
[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" ]
- -

Compréhensions de tableaux utilisant if

- -
var années = [ 1954, 1974, 1990, 2006, 2010, 2014 ];
-[for (année of années) if (année > 2000) année];
-// [ 2006, 2010, 2014 ]
-[for (année of années) if (année > 2000) if(année < 2010) année];
-// [ 2006 ] qui correspond aussi à
-[for (année of années) if (année > 2000 && année < 2010) année];
-// [ 2006 ]
- -

Comparaison avec map et filter

- -

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")}} :

- -
var nombres = [ 1, 2, 3 ];
-
-nombres.map(function (i) { return i * i });
-nombres.map(i => i*i);
-[for (i of nombres) i*i ];
-// tous vaudront [ 1, 4, 9 ]
-
-nombres.filter(function (i) { return i < 3 });
-nombres.filter(i => i < 3);
-[for (i of nombres) if (i < 3) i];
-// on obtiendra [ 1, 2 ] pour ces trois instructions
-
- -

Les compréhensions manipulant deux tableaux

- -

On peut itérer deux fois avec for...of afin de travailler avec deux tableaux :

- -
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 > 1) for (j of lettres) if(j > "a") i+j]
-// ["2b", "2c", "3b", "3c"], correspond à :
-
-[for (i of nombres) for (j of lettres) if (i > 1) if(j > "a") i+j]
-// ["2b", "2c", "3b", "3c"]
-
-[for (i of nombres) if (i > 1) [for (j of lettres) if(j > "a") i+j]]
-// [["2b", "2c"], ["3b", "3c"]], ne correspond pas à :
-
-[for (i of nombres) [for (j of lettres) if (i > 1) if(j > "a") i+j]]
-// [[], ["2b", "2c"], ["3b", "3c"]]
-
- -

Spécifications

- -

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.

- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.operators.array_comprehensions")}}

- -

Notes spécifiques relatives à l'implémentation de SpiderMonkey

- - - -

Différences avec les compréhensions précédentes JS1.7/JS1.8

- -
-

Les compréhensions « JS1.7 / JS1.8 » ont été retirées à partir de Gecko 46 ({{bug(1220564)}}).

-
- -

Ancienne syntaxe pour les compréhensions (ne plus l'utiliser) :

- -
[X for (Y in Z)]
-[X for each (Y in Z)]
-[X for (Y of Z)]
-
- -

Les différences :

- - - -

Pour quelques suggestions pour migrer du code, voir le bug {{bug("1220564")}} et notamment le commentaire #42.

- -

Voir aussi

- - diff --git "a/files/fr/web/javascript/reference/op\303\251rateurs/expression_closures/index.html" "b/files/fr/web/javascript/reference/op\303\251rateurs/expression_closures/index.html" deleted file mode 100644 index a80e576883..0000000000 --- "a/files/fr/web/javascript/reference/op\303\251rateurs/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 ---- -
{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}}
- -
Opérateur non-standard, ne pas utiliser !
-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 les fonctions fléchées.
- -

Les expressions de fermetures sont une notation de raccourci pour écrire des fonctions simples.

- -

Syntaxe

- -
function [nom]([param1[, param2[, ..., paramN]]])
-   expression
-
- -

Paramètres

- -
-
nom
-
Le nom de la fonction, ce paramètre est optionnel. S'il n'est pas utilisé, la fonction sera anonyme. Le nom de cette fonction est local uniquement pour le corps de la fonction.
-
paramN
-
Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments.
-
expression
-
L'expression qui correspond au corps de la fonction.
-
- -

Description

- -

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 lambda calcul.

- -

Pour les versions de JavaScript antérieures ou égales à 1.7 :

- -
function(x) { return x * x; }
- -

Avec JavaScript 1.8 :

- -
function(x) x * x
- -

Cette syntaxe permet de ne pas utiliser les accolades et l'instruction return (ici implicite). En dehors de la concision syntaxique, cet opérateur n'apporte pas d'autre avantage.

- -

Exemples

- -

Un raccourci pour ajouter des gestionnaires d'événements :

- -
 document.addEventListener("click", function() false, true);
-
- -

On peut utiliser cette notation avec les fonctions introduites pour les tableaux avec JavaScript 1.6 :

- -
elems.some(function(elem) elem.type == "text");
-
- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.operators.expression_closures")}}

- -

Notes de compatibilité

- - - -

Voir aussi

- - -- cgit v1.2.3-54-g00ecf