Proxying property lookup
suggest changeTo influence property lookup, the get
handler must be used.
In this example, we modify property lookup so that not only the value, but also the type of that value is returned. We use Reflect to ease this.
let handler = {
get(target, property) {
if (!Reflect.has(target, property)) {
return {
value: undefined,
type: 'undefined'
};
}
let value = Reflect.get(target, property);
return {
value: value,
type: typeof value
};
}
};
let proxied = new Proxy({foo: 'bar'}, handler);
console.log(proxied.foo); // logs `Object {value: "bar", type: "string"}`
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents