Я изучаю ES6 и нашел объект Proxy. В общем, я понял, как это работает на самом деле. Но мой вопрос об использовании прокси. Как показано в примере, который я приложил, прокси создается из объекта пользователя. Чтобы «прослушивать» или «перехватывать» события, происходящие с прокси, мы должны использовать объект прокси, но это не то, что я хочу. Есть ли способ «прослушивать» события, которые происходят с оригинальным (пользовательским) объектом?
let user = {};
let proxy = new Proxy(user, {
get(target, prop) {
alert(`Reading ${prop}`);
return target[prop];
},
});
proxy.firstName; // Reading firstName
Чтобы прояснить ситуацию, давайте представим ситуацию: у меня есть какой-то объект, который работает неправильно. Я хочу выяснить, что с ним не так и создать прокси. Итак, следующий в моем коде я должен использовать прокси вместо моего исходного неправильно работающего объекта? Итак, как я вижу решение этой проблемы, оно должно работать примерно так:
let user = {} // wrong-working object
let proxy = new Proxy(user, {
get(target, prop) {
alert(`Reading ${prop}`);
return target[prop];
},
}); // new Proxy returns proxy which is just used for removing "event-listener"
user.firstName // Reading firstName
Могу ли я получить какое-либо объяснение, почему это работает таким образом?