aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/objets_globaux/object/unobserve/index.html
blob: 88de52a8134413c449539236ca55f42ab72377e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: Object.unobserve()
slug: Web/JavaScript/Reference/Objets_globaux/Object/unobserve
tags:
  - JavaScript
  - Méthode
  - Object
  - Obsolete
  - Reference
translation_of: Archive/Web/JavaScript/Object.unobserve
---
<div>{{JSRef}} {{obsolete_header}}</div>

<p>La méthode <code><strong>Object.unobserve()</strong></code> est utilisée pour retirer des observateurs placés avec {{jsxref("Object.observe()")}}. Cette méthode et l'API à laquelle elle appartient ont été dépréciées et retirées des navigateurs. À la place, il est préférable d'utiliser l'objet {{jsxref("Proxy")}}.</p>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="syntaxbox">Object.unobserve(<var>obj</var>, <var>callback</var>)</pre>

<h3 id="Paramètres">Paramètres</h3>

<dl>
 <dt><code>obj</code></dt>
 <dd>L'objet qu'on souhaite arrêter d'observer.</dd>
 <dt><code>callback</code></dt>
 <dd>La référence vers l'observateur qu'on souhaite arrêter d'appeler à chaque fois qu'une modification est apportée à <code><strong>obj</strong></code>.</dd>
</dl>

<h3 id="Valeur_de_retour">Valeur de retour</h3>

<p>L'objet qui n'est plus observé.</p>

<h2 id="Description">Description</h2>

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

<p>La fonction de rappel (<em>callback</em>) doit être une référence à la fonction et non une fonction anonyme. En effet, c'est cette référence qui sera utilisée pour retirer l'observateur précédemment placé. Appeler <strong>Object.unobserve()</strong> avec une fonction anonyme n'aura aucun effet, cela ne retirera aucun observateur.</p>

<h2 id="Exemples">Exemples</h2>

<h3 id="Arrêter_l'observation_un_objet">Arrêter l'observation un objet</h3>

<pre class="brush: js">var obj = {
  toto: 0,
  truc: 1
};

var observer = function(changements) {
  console.log(changements);
}

Object.observe(obj, observer);
​
obj.nouvelleProp = 2;
// [{name: 'nouvelleProp', object: &lt;obj&gt;, type: 'add'}]

Object.unobserve(obj, observer);

obj.toto = 1;
// La fonction callback n'a pas été appelée</pre>

<h3 id="Utiliser_une_fonction_anonyme">Utiliser une fonction anonyme</h3>

<pre class="brush: js">var personne = {
  name : 'Ahmed',
  age : 25
};

Object.observe(personne, function (changements) {
  console.log(changements);
});

personne.age = 40;
// [{name: 'age', object: &lt;obj&gt;, oldValue: 25, type: 'update'}]

Object.unobserve(personne, function (changements) {
  console.log(changements);
});

personne.age = 63;
// [{name: 'age', object: &lt;obj&gt;, oldValue: 40, type: 'update'}]
// La fonction callback est toujours appelée
</pre>

<h2 id="Specifications">Specifications</h2>

<p><a href="https://github.com/arv/ecmascript-object-observe">Proposition de spécification (<em>strawman proposal</em>)</a>.</p>

<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>

<div>
<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>

<p>{{Compat("javascript.builtins.Object.unobserve")}}</p>
</div>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li>{{jsxref("Object.observe()")}}{{obsolete_inline}}</li>
 <li>{{jsxref("Array.observe()")}}{{obsolete_inline}}</li>
 <li>{{jsxref("Array.unobserve()")}}{{obsolete_inline}}</li>
</ul>