diff options
Diffstat (limited to 'files/fr/web/javascript/reference/objets_globaux/object')
9 files changed, 0 insertions, 737 deletions
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: <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'} -// ] -</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: <obj>, 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: <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 -</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" && (!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); -} -</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> |
