[ES6] Proxy & Reflect
Proxy and Reflect API works nicely together.
About how to use Proxy, check this post.
Let's see about Reflect API:
const obj = {name: "foo"};
console.log(Reflect.get(obj, "name")); // "foo"
For proxy and Reflect, their API is really similar:

const target = {name: "foo"};
const handler = {
get: function(target, key){
console.log("Accessd key", key);
return Reflect.get(target, key); // using Reflect to get the value
},
set: function(target, key, value){
console.log('Update key', key, "to", value);
Reflect.set(target, key, value); // using Reflect to set the value
}
};
function logAccessToProperties(obj) {
return new Proxy(obj, handler);
}
const l = logAccessToProperties(target);
console.log(l.name); //foo
l.age = 23
console.log(l.age ); //23

浙公网安备 33010602011771号