es6 Proxy

Posted blogzhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6 Proxy相关的知识,希望对你有一定的参考价值。

Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改
Proxy 可以理解成,在目标对象之前架设一层“拦截”,
外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,
可以对外界的访问进行过滤和改写。
Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。

 Proxy 实例  

var proxy = new Proxy(target, handler); // target参数表示所要拦截的目标对象,handler参数也是一个对象,用来定制拦截行为。
var proxy = new Proxy({}, {
  get: function(target, propKey) {
    return 35;
  }
});

proxy.time // 35
proxy.name // 35
proxy.title // 35

  

let target = {};
let p = new Proxy(target, {});

p.a = 37;   // 操作转发到目标

console.log(target.a);    // 37. 操作已经被正确地转发
var target = {};
var handler = {};
var proxy = new Proxy(target, handler);
proxy.a = ‘b‘;
target.a // "b"  // handler是一个空对象,没有任何拦截效果,访问proxy就等同于访问target

  

 

 

以上是关于es6 Proxy的主要内容,如果未能解决你的问题,请参考以下文章

ES6系列_13之Proxy进行预处理(简单学习)

ES6----Proxy

proxy思考

ES6之Proxy及Proxy内置方法

ES6深入浅出-13 Proxy 与 Reflect-2.Proxy 代理

ES6-Proxy,代理