看一个需求:我们希望监听这个对象中的属性被设置或获取的过程要怎么办呢?
我们通过之前的了解可以指定使用Object.defineProperty,但是它有什么缺点呢?
首先,Object.defineProperty设计的初衷,不是为了去监听截止一个对象中所有属性的。其次,如果我们想监听更加丰富的操作,比如新增属性,删除属性,那么Object.defineProperty是无能为力的。
在ES6中,新增了一个Proxy类,这个类从名字就可以看出来,是帮助我们创建一个代理对象的:也就是说如果我们希望监听一个对象的相关操作,那么我们可以创建也给代理对象Proxy对象。
之后对该对象的所有操作,都通过代理对象来完成,代理对象可以监听我们想要对原对象进行哪些操作
Proxy类的构造函数接受两个参数:
1.target:目标对象,即我们想要代理的对象
2.handler:定义了代理行为的对象,里面包含了多个捕捉器traps,用于拦截对target的操作。
感谢观看
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持一下
友链已经添加好了,欢迎回访哈
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持一下
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持一下
马克吐温的作品就很经典,小时候很爱看
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持