const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop === 'toString') {
return () => `Person: ${obj.name}`;
}
return Reflect.get(obj, prop);
},
set(obj, prop, value) {
if (prop === 'age' && value < 0) {
return false;
}
return Reflect.set(obj, prop, value);
}
};
const proxy = new Proxy(target, handler);
proxy.age = -5;
proxy.location = 'NYC';
console.log(proxy.toString());
console.log(proxy.age);
console.log(proxy.location); Post #2965
3.4K
CHALLENGE
- ❤ 9
- 👍 6
- 🔥 2