定义和指定特性之间的区别

Difference between defining and assigning property

本文关键字:之间 区别 定义      更新时间:2023-09-26

将属性分配给对象和定义它有什么区别?哪一个更好,如何更好?

这个

 Object.defineProperty(obj,p,propDesc)

或者简单地

 obj.p="someValue";

Object.defineProperty允许您设置关于该属性的一整套选项。如CCD_ 2和CCD_。

执行obj.p = 'something';时,您正在使用"默认"选项设置属性。

两者都不是"更好",它们都有自己的用途。您使用哪一个取决于您的要求。

如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

"此方法允许精确添加或修改对象的属性。通过赋值添加普通属性会创建在属性枚举期间显示的属性(对于…in循环或Object.keys方法),其值可能会更改,也可能会删除。此方法允许从默认值更改这些额外的详细信息。"