一文明白Proxy 和 Reflect
主要为ES6标准入门的内容归纳。
Proxy
Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于 种“元编程”( meta programming ),即对编程语言进行编程。
Proxy 可以理解成在目标对象前架设 个“拦截”层 ,外界对该对象的访问都必须先通过这层拦截,因此提供了 种机制可以对外界的访问进行过滤和改写。
具体用法
ES6原生提供了Proxy构造函数,用于生成Proxy实例,其中target表示要对谁进行拦截代理,也就是代理的拦截的目标,handler参数也是一个对象,定制拦截的行为。
var proxy= new Proxy(target, handler) ;
下面是一个设置多个拦截代理的例子
var handler = {
get: function(target,name){
if(name === 'prototype'