[英]Object.defineProperty() vs Object.prototype.property vs Object.property when to use what?
有人可以給我一個很好的用例,說明何時使用Object.defineProperty(),Object.prototype.property和Object.property。
想象一下,我們有一個person
對象,其age
屬性值為20
。
Object.defineProperty()方法直接在對象上定義新屬性,或修改對象上的現有屬性,並返回該對象。
Object.defineProperty(obj, prop, descriptor)
這與普通賦值運算符有什么不同?
它使您可以更好地控制創建屬性而不是標准賦值( person.age = 25
)。 除了設置值之外,您還可以指定是否可以刪除或編輯屬性以及Object.defineProperty()頁面中更詳細列出的其他內容。
幾個例子
要向此人添加無法使用賦值運算符更改的名稱字段:
Object.defineProperty(person, "name", {value: "Jim", writable: false})
或者更新年齡屬性並使其可編輯:
Object.defineProperty(person, "age", {value: 25, writable: true})
。
Object.prototype.property和Object.property都指訪問對象的屬性。 這就像使用person.age
訪問person
對象的age
屬性一樣(你也可以使用person["age"]
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.