ES6中Proxy的get方法如何实现深度属性访问与拦截?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1036个文字,预计阅读时间需要5分钟。
Proxy是ES2015(ES6)中新增的内置对象,用于自定义一些基本操作。本文是我学习Proxy时,对get方法的一些心得。作为ES2015新定义的内置对象,Proxy能够拦截并自定义对象的基本操作。
Proxy是在ES2015(ES6)中新添加内置对象,用于自定义一些基本操作。
这篇文章是我在学习Proxy的时候对于get方法的一些心得。
作为ES2015新定义的内置对象,Proxy 能够拦截并且自定义对象以及函数的一些基本操作,具有很高的优先级和便利性,能够让我们在写代码的时候多出一种解决难题的途径。
Proxy的get方法用于拦截对象属性的读取操作,例如 obj.key 和 obj.[key]。在给Proxy的handler参数中设置get方法后,每当进行读取操作时,会优先调用该get方法,我们可以在这个方法函数中对读取行为进行拦截。请看下面的代码:
const obj = { key: 1 } const proxy = new Proxy(obj, { get: function(target, property, receiver) { console.log('get', property) return target[property] } }) console.log(proxy.key) // get key // 1
get方法的参数一共有三个:target是实例化Proxy时使用的对象,在这个例子中是obj;而property是这次读取操作中想要获取的属性名,在这个例子中是key;最后一个参数receiver则是这个实例化的Proxy自身,即proxy。
本文共计1036个文字,预计阅读时间需要5分钟。
Proxy是ES2015(ES6)中新增的内置对象,用于自定义一些基本操作。本文是我学习Proxy时,对get方法的一些心得。作为ES2015新定义的内置对象,Proxy能够拦截并自定义对象的基本操作。
Proxy是在ES2015(ES6)中新添加内置对象,用于自定义一些基本操作。
这篇文章是我在学习Proxy的时候对于get方法的一些心得。
作为ES2015新定义的内置对象,Proxy 能够拦截并且自定义对象以及函数的一些基本操作,具有很高的优先级和便利性,能够让我们在写代码的时候多出一种解决难题的途径。
Proxy的get方法用于拦截对象属性的读取操作,例如 obj.key 和 obj.[key]。在给Proxy的handler参数中设置get方法后,每当进行读取操作时,会优先调用该get方法,我们可以在这个方法函数中对读取行为进行拦截。请看下面的代码:
const obj = { key: 1 } const proxy = new Proxy(obj, { get: function(target, property, receiver) { console.log('get', property) return target[property] } }) console.log(proxy.key) // get key // 1
get方法的参数一共有三个:target是实例化Proxy时使用的对象,在这个例子中是obj;而property是这次读取操作中想要获取的属性名,在这个例子中是key;最后一个参数receiver则是这个实例化的Proxy自身,即proxy。

