Skip to content

Instantly share code, notes, and snippets.

@gskachkov
Last active November 12, 2017 09:30
Show Gist options
  • Save gskachkov/db7543112f547abbcdad3dfb08b20f97 to your computer and use it in GitHub Desktop.
Save gskachkov/db7543112f547abbcdad3dfb08b20f97 to your computer and use it in GitHub Desktop.
var target = { id : "boo" };
var p = new Proxy(target, {
get: function(target, property, receiver) {
},
set: function(target, property, value, receiver) {
},
defineProperty: function(target, property, propDesc) {
},
deleteProperty: function(target, property) {
},
getPrototypeOf: function(target) {
},
setPrototypeOf: function(target, prototype) {
},
ownKeys: function(target) {
},
has: function(target, prop) {
},
enumerate(target) { // depreciated
},
apply: function(target, thisArg, argumentsList) {
},
construct: function(target, argumentsList, newTarget) {
}
});
proxy.id;
proxy.id = "foo";
proxy.new_prop = "foobar";
delete proxy.id;
proxy.__proto__; // Object.getPrototypeOf(proto);
proxy.__proto__ = {}.__proto__;
Object.getOwnPropertyNames(proxy);
'id' in proxy;
for (let x in proxy) {}
proxy('abc');
proxy.call({},'abc');
proxy.apply({}, ['abc']);
var obj = new proxy();
var target = {}
var proxy = new Proxy(target, {});
proxy === target; //false
proxy.__proto__ === target.__proto__; // true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment