Reflect(target,key,value,proxy)这里为什么使用proxy改变this指向?
来源:3-13 Proxy和Reflect

qq__9987
2018-06-08
Reflect(target,key,value,proxy)这里为什么使用proxy改变this指向?直接修改target有问题吗?还有为什么要用Reflect来做返回值。
写回答
2回答
-
qq_修炼者_0
2018-07-09
proxy的存在只会决定对象的defineProperty属性是否触发而已,和this无关。
直接修改target没有问题,那就和直接操作对象没区别了,只不过代理更安全
Reflect做返回值,是因为proxy对象上的方法在Reflect对象上都有,不管proxy怎么修改Reflect都会取到它的行为。但是Reflect操作更简洁,当然你也可以用proxy对象上的方法做返回。Reflect还有一个优点就是,对象某些内部方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect对象上可以拿到语言内部的方法。使用Reflect更靠谱一些。
20 -
快乐动起来呀
2018-06-10
可以直接修改target也没问题,但是代理的作用就是避免直接修改target为的就是保护target,在proxy中操作target才安全,以后Object的方法都是直接部署在Reflect的,慢慢改变这个习惯吧
00
相似问题