簡體   English   中英

Object.defineProperty()vs Object.prototype.property vs Object.property何時使用什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM