Object.defineproperty() 对比 Object.defineproperties()
Object.defineproperty() vs Object.defineproperties()
我很好奇为什么有两种方法可以做看似相同的事情。我不能总是使用 defineproperties() 吗?为什么在 defineproperties() 可以处理单个和多个属性时使用 defineproperty()?
如您所见,Object.defineProperty
无法处理多个属性,它需要目标对象、一个 属性 名称和一个描述符。
另一方面,Object.defineProperties
接受目标对象,另一个对象的每个键都是一个 属性 名称,每个值都是相应的描述符,它允许一次定义多个属性.
没有什么能阻止您使用 Object.defineProperties
即使是对于单个属性,它只是需要更多的工作(并且代码的可读性可能更差?)因为您必须构建包含属性定义的对象。
我很好奇为什么有两种方法可以做看似相同的事情。我不能总是使用 defineproperties() 吗?为什么在 defineproperties() 可以处理单个和多个属性时使用 defineproperty()?
如您所见,Object.defineProperty
无法处理多个属性,它需要目标对象、一个 属性 名称和一个描述符。
另一方面,Object.defineProperties
接受目标对象,另一个对象的每个键都是一个 属性 名称,每个值都是相应的描述符,它允许一次定义多个属性.
没有什么能阻止您使用 Object.defineProperties
即使是对于单个属性,它只是需要更多的工作(并且代码的可读性可能更差?)因为您必须构建包含属性定义的对象。