为了账号安全,请及时绑定邮箱和手机立即绑定

js proxy 中的set 和 defineProperty问题

js proxy 中的set 和 defineProperty问题

ibeautiful 2018-07-29 10:21:23
const obj = {a : 1,b: 1,c: { e : 1}}var proxy = new Proxy(obj,{get(target,property, receiver) {return Reflect.get(target, property, receiver);},set(obj, prop, value) {return obj[prop] = value;},defineProperty(target, property: string, descriptor) {return Reflect.defineProperty(target, property, descriptor);},})export function proxyTest(){proxy.a = 2;}当去掉set方法时,会执行defineProperty;但是当有set方法时,不会执行definePropery;这是为什么呢?
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

因为代码定义的get/set比defineProperty的优先级高。后者不能覆盖前者。


查看完整回答
反对 回复 2018-08-03
  • 1 回答
  • 0 关注
  • 1252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号