const handler = {
get(target, prop, receiver) {
if (prop in target) {
return Reflect.get(target, prop, receiver) * 2;
}
return `${prop} not found`;
},
set(target, prop, value) {
if (typeof value !== "number") {
throw new TypeError("Only numbers allowed");
}
target[prop] = value + 10;
return true;
},
has(target, prop) {
return prop.startsWith("x") ? false : prop in target;
},
};
const obj = new Proxy({ score: 5, xp: 100 }, handler);
obj.level = 3;
console.log(obj.score);
console.log(obj.level);
console.log("xp" in obj);
console.log("score" in obj);
console.log(obj.rank);
Post #3138
2.48K
CHALLENGE
- ❤ 2
- 👍 1
- 🔥 1