【问题标题】:Object.defineproperty() vs Object.defineproperties() [closed]Object.defineproperty() 与 Object.defineproperties() [关闭]
【发布时间】:2021-10-18 09:20:09
【问题描述】:

我很好奇为什么有两种方法可以做看似相同的事情。我不能总是使用defineproperties()吗?当 defineproperties() 可以处理单个和多个属性时,为什么要使用 defineproperty()?

【问题讨论】:

  • 是否有其他方法可以通过 API 实现相同的目标?
  • 当您只想定义一个属性时,defineProperty() 只需要稍微少一点的代码;所以,这是一个简约的问题。
  • 我想使用.defineProperties() 方法来定义单个属性与.defineProperty() 相比不太方便,并且使用.defineProperty() 方法有效地传达了您想要定义一个 single 的想法 对象的属性。 .defineProperties() 也是如此 - 它有效地传达了您想要在对象上定义 多个 属性的想法。

标签: javascript object methods


【解决方案1】:

如您所见,Object.defineProperty 无法处理多个属性,它需要目标对象、一个属性名称和一个描述符。

另一方面,Object.defineProperties 获取目标对象,另一个对象,每个键是属性名,每个值是对应的描述符,允许一次定义多个属性。

没有什么可以阻止您使用Object.defineProperties,即使对于单个属性,它只是需要更多的工作(并且可能是可读性较差的代码?),因为您必须构建包含属性定义的对象。

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2019-11-14
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多