如果我想给一个变量a
一个属性P
(非访问属性)和我不关心它是否可配置/可枚举/可写。
我可以 100% 确定简单地做一个
a.P=value // or
a["P"]=value
而不是使用
Object.defineProperty
所以基本上,我们不应该碰那个 Object.defineProperty
除非我们需要创建访问器和/或我们想要控制属性的可配置/可写/可枚举状态?
最佳答案
我不会说它“更有益”,但它们在功能上是相同的:
a.p = value;
Object.defineProperty(a, 'p', {
enumerable : true,
writable : true,
configurable : true,
value : value
});
显然后者更冗长,而且如果您要定义许多属性,也很多慢(在 Chrome 中大约慢 1,000 倍):
关于javascript - variable.Property = "test"与 Object.defineProperty(变量 ,"Property"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149453/