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

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 关注
  • 1250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信