Я просто возился, пытаясь понять, как он должен работать, но этот сценарий меня смутил.
Object.defineProperty(Object.prototype, 'a', {set: function() {console.log("Set!");} });
Используя этот метод, я предполагаю, что каждый раз, когда я создаю объект с именем a, эта функция должна срабатывать. Это работает здесь:
a = {};
Set!
Но не тогда, когда вложено так:
test = {a:{}};
Я что-то неправильно понимаю?