--- title: Object.unobserve() slug: Web/JavaScript/Reference/Global_Objects/Object/unobserve tags: - JavaScript - Об'єкт - застарілий - метод translation_of: Archive/Web/JavaScript/Object.unobserve ---
Метод Object.unobserve() використовувався для видалення спостерігачів, встановлених методом {{jsxref("Object.observe()")}}, але він застарів та був прибраний з переглядачів. Ви можете натомість скористатись більш загальним об'єктом {{jsxref("Proxy")}}.
Object.unobserve(obj, callback)
objcallbackВказаний об'єкт.
Object.unobserve() має викликатися після {{jsxref("Object.observe()")}}, щоб прибрати з об'єкта спостерігач.
Параметр callback має бути посиланням на функцію, а не анонімною функцією, бо це посилання буде використано, щоб прибрати попередній спостерігач. Немає сенсу викликати Object.unobserve() з анонімною функцією зворотного виклику, вона не прибере жоден спостерігач.
var obj = {
foo: 0,
bar: 1
};
var observer = function(changes) {
console.log(changes);
}
Object.observe(obj, observer);
obj.newProperty = 2;
// [{name: 'newProperty', object: <obj>, type: 'add'}]
Object.unobserve(obj, observer);
obj.foo = 1;
// Функція зворотного виклику не викликалась
var person = {
name: 'Ахмед',
age: 25
};
Object.observe(person, function(changes) {
console.log(changes);
});
person.age = 40;
// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}]
Object.unobserve(person, function(changes) {
console.log(changes);
});
person.age = 63;
// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}]
// Функція зворотного виклику викликатиметься завжди
Strawman proposal specification.
{{Compat("javascript.builtins.Object.unobserve")}}