将属性分配给对象和定义它有什么区别?哪个更好以及如何?
这个
Object.defineProperty(obj,p,propDesc)
或者干脆
obj.p="someValue";
将属性分配给对象和定义它有什么区别?哪个更好以及如何?
这个
Object.defineProperty(obj,p,propDesc)
或者干脆
obj.p="someValue";
Object.defineProperty
让您设置有关该属性的一大堆选项。喜欢enumerable
和writable
。
当您这样做时obj.p = 'something';
,您正在使用“默认”选项设置属性。
两者都不是“更好”,它们都有自己的用途。您使用哪一种取决于您的要求。
" 此方法允许精确添加或修改对象上的属性。通过赋值添加的普通属性会创建在属性枚举期间显示的属性(for...in 循环或 Object.keys 方法),其值可能会更改,并且可能会被删除。此方法允许将这些额外的详细信息从默认值更改。