オブジェクト「myObject.user」の値の変更中にトリガーされる「set」関数を作成しました。したがって、値を変更すると、アラートが表示されます。しかし、オブジェクト「myObject.newuser[0].id」内の値を更新しているとき、セットは呼び出されません。内部値が変更された場合にグローバル セットが機能するようにコードを変更する方法。つまり、このコードでは 2 つのアラートを受け取る必要があります。
var myObject = {};
myObject.user;
Object.defineProperty(myObject, 'newuser', {
get: function() { return this.user;},
set: function(value) { alert('Updated');this.user=value;}
});
myObject.newuser = [{"id":"user1"}];
myObject.newuser[0].id="user2";