Skip to content

Instantly share code, notes, and snippets.

@krishna2nd
Created September 5, 2017 12:08
Show Gist options
  • Save krishna2nd/544537bb2a37401338649d4c3f4a2385 to your computer and use it in GitHub Desktop.
Save krishna2nd/544537bb2a37401338649d4c3f4a2385 to your computer and use it in GitHub Desktop.
let target = {
foo: "Welcome, foo"
}
let proxy = new Proxy(target, {
get (receiver, name) {
// get value from target if proprty exists else some logic from proxy
return name in receiver ? receiver[name] : `Hello, ${name}`
},
// set value to target by adding new property
set (receiver, name, value) {
console.log(receiver, name, value);
receiver[name] = value;
}
})
proxy.foo === "Welcome, foo"
proxy.world === "Hello, world"
proxy.tt = 10
console.log(target)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment