I have the following proxy handler that logs get events.
const proxyHandler = {
get: function(target, prop) {
console.log("get", prop);
return Reflect.get(target, prop);
}
};
const obj = new Proxy(
{
value: 4,
text: "hi",
get textVal() {
return this.text.repeat(this.value);
},
getTextVal() {
return this.text.repeat(this.value);
}
},
proxyHandler
);
console.log("------- normal func -------")
console.log(obj.getTextVal());
console.log("------- getter func -------")
console.log(obj.textVal);
When I log console.log(obj.getTextVal())
I get:
get getTextVal
get text
get value
hihihihi
But when I log the getter console.log(obj.textVal)
, I only get the following:
get textVal
hihihihi
How can I make obj.textVal
log the get text
and get get value
events using proxy? ie. When running console.log(obj.textVal)
I would like the following result.
get getTextVal
get text
get value
hihihihi