如題,Obejct.defineProperty到底做了什么事情,會將實例上對應(yīng)的屬性也屏蔽掉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
用Object.defineProperty定義在原型上的屬性為什么會屏蔽實例對象的屬性
繁星點點滴滴
2018-12-20 18:15:55