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

用Object.defineProperty定义在原型上的属性为什么会屏蔽实例对象的属性

用Object.defineProperty定义在原型上的属性为什么会屏蔽实例对象的属性

繁星点点滴滴 2018-12-20 18:15:55
如题,Obejct.defineProperty到底做了什么事情,会将实例上对应的属性也屏蔽掉class List {        constructor() {            this.members = [...arguments]            this.length = this.members.length            this.pos = 0            console.log(this.length)        }    }        Object.defineProperty(List.prototype, 'length', {        get() {return this.members.length + 1},        set() {},        enumerable: false,        configurable: false,    })            let myList = new List('Jack', 'Rose', 'Tom')        console.log(myList.length) // 4
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 613 浏览
慕课专栏
更多

添加回答

举报

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