ES6 -- 最佳代理:Proxy
来源:互联网 发布:安卓手机vb6.0编程软件 编辑:程序博客网 时间:2024/05/16 11:07
Proxy可以修改对象的默认行为,例如,如果为某个对象设置了包含有get方法的Proxy对象,那么当访问对象的值的时候,要首先经过这个get方法。这样,开发者获得了对象代理的权限和方式;他人对于对象的访问,将是受到开发者的限制和控制的。
栗子:
var proxyObj = new Proxy({}, { get: function (target, key, receiver) { console.log(`getting the prop ${key}!`); return 18; }, set: function (target, key, value, receiver) { console.log(`setting the prop ${key}!`); return Reflect.set(target, key, value, receiver); }});
上面这个代码为一个空对象设定了一个代理,重新定义了属性的get(读取)和set(设置)行为。
这样如果我们运行下面这段代码,得到的结果就会是:
proxyObj.age// getting age!// 18
总结一下上面的栗子,Proxy的基本语法是:
var proxy = new Proxy(target, handler);
其中target表示需要要代理方法的目标对象,handler用来定义需要代理的方法(例如上面栗子中的get和set方法)。
另外一个需要注意的就是,如果需要使用代理方法,必须对new Proxy返回的proxyObj进行操作,而不是对Proxy的参数target进行操作。
Proxy可以代理的方法有很多,如下所示:
1.get2.set3.has4.deleteProperty5.ownKeys6.getOwnPropertyDescriptor7.defineProperty8.preventExtensions9.getPrototypeOf10.isExtensible11.setPrototypeOf12.apply13.construct
关于这些方法的具体使用方法,可参见阮一峰大神博客。
Proxy代理方法精讲
0 0
- ES6 -- 最佳代理:Proxy
- ES6 -- 最佳代理Proxy:实例方法
- 十二,ES6 新增Proxy代理
- 深度揭秘ES6代理Proxy
- Javascript/ES6代理Proxy用法
- 初步探究ES6之Proxy代理
- 初步探究ES6之Proxy代理
- ES6 proxy
- 【ES6】Proxy
- ES6 Proxy
- es6-Proxy
- es6-Proxy
- ES6-proxy
- es6 Proxy
- 【ES6】Proxy
- ES6学习之路(六) Proxy 代理器&Reflect
- ES6——Proxy(代理)、Reflect(反射)
- 代理(Proxy)
- 实时监控系统
- Android项目中嵌套unity出现your hardware does not support this application,sorry!
- input required字段;django input输入框不填写会自动变红如何修改
- 关于图片加载框架Glide
- 类装载
- ES6 -- 最佳代理:Proxy
- hive中的TextFile转为SequenceFile
- android manifest merge failed 依赖第三方库存在 android:name=".VideoApplication"
- 小白笔记2
- web service接口 wsdl和asmx有什么区别
- SAP连接电脑串口读数(电子称,磅等数据读取)
- Java在ACM中的使用
- Android 4.4及以上版本实现状态栏透明
- 装饰者模式Decorator