Skip to content

Instantly share code, notes, and snippets.

@xinlc
Created May 12, 2018 04:19
Show Gist options
  • Save xinlc/389915c945a986ad8b3b540618bfc650 to your computer and use it in GitHub Desktop.
Save xinlc/389915c945a986ad8b3b540618bfc650 to your computer and use it in GitHub Desktop.
ES7 Proxy Polyfill
var dfGetter=function(target, property, receiver){
return target[property];
};
var dfSetter=function(target, property, value, receiver){
return target[property]=value;
};
const _Proxy = function(target, handler){
var me=this;
if(!handler.get){
handler.get = dfGetter;
}
if(!handler.set){
handler.set = dfSetter;
}
for(var key in target){
Object.defineProperty(me, key, {
enumerable:true,
get:function(){
debugger;
return handler.get(target, key, me);
},
set:function(value){
return handler.set(target, key, value, me);
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment