为对象分配属性和定义属性有什么区别?哪一个更好,又如何?
:此
Object.defineProperty(obj,p,propDesc)
或者只是
obj.p="someValue";
答案 0 :(得分:2)
Object.defineProperty
可让您设置有关该属性的一大堆选项。与enumerable
和writable
一样。
执行obj.p = 'something';
时,您正在使用“默认”选项设置属性。
两者都没有“更好”,它们各自都有自己的用途。您使用哪一个取决于您的要求。
答案 1 :(得分:0)
” 该方法允许精确地添加或修改对象上的属性。通过赋值添加的正常属性会创建在属性枚举期间显示的属性(对于... in循环或Object.keys方法),其值可能会更改,并且可能会被删除。此方法允许从默认值更改这些额外的详细信息。“