0
我嘗試使用訪問器定義屬性時出錯。這裏是我的代碼Javascript設置和獲取方法錯誤
var person = {}; Object.defineProperty(person, 'birthYear', { value: 1997, writable: true, enumerable: true, configurable: false, set: function (value) { this.birthYear = value; }, get: function() { return 'Birth year - ' + this.birthYear; } }); console.log(person.birthYear);
錯誤文本:無效的屬性描述符。不能同時指定訪問器和值或可寫屬性。
如果我不能定義集並獲得像這樣的方法我可以做到這一點?
你會刪除'value',但你不想要'birthYear'獲取'this.birthYear'因爲那會產生無限的遞歸。您需要將值存儲在別處,例如在不同的屬性名稱或符號上或變量中。 –
是否有理由在一個對象上定義屬性,而不是[原型](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype) –
...和FYI,您可以使用Object.create'一步完成該對象的創建/定義。 –