我想知道它之间的区别:
Object.assign(otherObject, {
someNewProperty: ''
});
和
otherObject.someNewProperty = '';
而且......哪一个更快?
感谢。
答案 0 :(得分:8)
Object.assign()方法用于复制所有值 枚举从一个或多个源对象到目标的自有属性 宾语。它将返回目标对象。
otherObject.someNewProperty = '';
是一种直接为对象的某个属性赋值的方法。
显然Object.assign
模式要慢得多:jsperf.com/assign-vs-equals
答案 1 :(得分:3)
对于单个属性,直接赋值(otherObject.someNewPropertie ='')快两倍,但对于多个值 - 时间会增长。每个属性+ 5-10%。此外,代码方式的Object.assign对于多个选项更好。
Object.assign(otherObject, {
prop1: '',
prop2: '',
prop3: '',
...
});
VS
otherObject.prop1 = '';
otherObject.prop2 = '';
otherObject.prop3 = '';
...
您只需在Chrome开发工具中运行“个人档案”标签,然后进行少量测试。
答案 2 :(得分:1)
Object.assign()
是一个非常通用的功能,旨在执行复杂的对象组合。
属性点表示法是将单个值分配给单个属性的直接方式。
关于哪个更快,考虑到这些并不相同,并且作为我的all time favorite posts之一注意到&#34; 询问哪一个运行得更快可能是非首发< / EM>&#34;