有人可以给我一个很好的用例,说明何时使用 Object.defineProperty()、Object.prototype.property 和 Object.property。
问问题
2742 次
1 回答
5
想象一下,我们有一个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 都指访问对象的属性。这就像使用(您也可以使用)访问对象的age
属性person
person.age
person["age"]
于 2015-08-04T18:56:11.707 回答