with-days
🧩 Syntax:
const days = [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday",
];
function proxy(target) {
return new Proxy(target, {
get: (target, property, receiver) => {
const result = Reflect.get(target, property, receiver);
if (days.includes(result)) {
return {
toString: () => result,
valueOf: () => result,
length: "24 hours",
};
}
return result;
},
set: (target, property, receiver) => {
return Reflect.set(target, property, receiver);
},
});
}
with (proxy(globalThis)) {
x = "Monday";
y = "Something Else";
z = "Saturday";
console.log(x.length, y.length, z.length);
}