MDN's article on Proxy
displays two ways to write get()
handlers:
const first = new Proxy(target, {
get(target, property, receiver) {
return target[property];
}
});
const second = new Proxy(target, {
get(target, property, receiver) {
return Reflect.get(...arguments);
}
});
As far as I've tested, both seem to work as expected for simple cases.
const target = {
foo: 42
};
const first = new Proxy(target, {
get(target, property, receiver) {
return target[property];
}
});
const second = new Proxy(target, {
get(target, property, receiver) {
return Reflect.get(...arguments);
}
});
console.log(first.foo);
console.log(second.foo);
Is there a functional difference between the two options? Is there a setup in which one approach works, but the other fails?