Proxy
Proxy用于修改某些操作的默认行为 ,等同于在语言层面做出修改,所以属于”元编程”,即是对编程语言进行编程。
Proxy可以理解成,在目标对象之前架设一层”拦截”,外界对对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。原意是代理,表示由它来”代理”某些操作。
ES6原生提供Proxy构造函数,用来生成Proxy实例。
var proxy = new Proxy(target, handler);
Proxy对象的所有写法,都是上面这种形式,不同的只是handler参数的写法。其中,new Proxy()表示生成一个Proxy实例,target参数表示所要拦截的目标对象,handler参数也是一个对象,用来定制拦截行为。
拦截读取属性的例子。
var proxy = new Proxy({}, {
get: function(target, property) {