26 lines
578 B
JavaScript
26 lines
578 B
JavaScript
const monster1 = { eyeCount: 4 };
|
|
|
|
const handler1 = {
|
|
set(obj, prop, value) {
|
|
if ((prop === 'eyeCount') && ((value % 2) !== 0)) {
|
|
console.log('Monsters must have an even number of eyes');
|
|
} else {
|
|
return Reflect.set(...arguments);
|
|
}
|
|
}
|
|
};
|
|
|
|
const proxy1 = new Proxy(monster1, handler1);
|
|
|
|
proxy1.eyeCount = 1;
|
|
// expected output: "Monsters must have an even number of eyes"
|
|
|
|
console.log(proxy1.eyeCount);
|
|
// expected output: 4
|
|
|
|
proxy1.eyeCount = 2;
|
|
console.log(proxy1.eyeCount);
|
|
// expected output: 2
|
|
|
|
console.log(proxy1.eyeCount);
|
|
// expected output: 2
|