Смотреть, если объект изменился
Можно ли выполнить какой-то код каждый раз, когда объект изменился?
var a = {x: 12, y: 63};
a.watch(function () { console.log('The object has changed!'); });
a.x = 16; // The object has changed!
a.y = 1; // The object has changed!
Кажется, он доступен только в Firefox: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
Как можно добиться этого в JavaScript / node.js? (если возможно, без использования метода получения / установки)
1 ответ
Вы можете использовать Object Observe... это экспериментально, поэтому будьте осторожны...
var obj = {
foo: 0,
bar: 1
};
Object.observe(obj, function(changes) {
console.log(changes);
});
obj.baz = 2;