使用解构将新属性分配给对象

时间:2019-11-21 18:09:13

标签: javascript javascript-objects

我正在审查PR,我发现了为对象分配新属性的新选择。

foo = { 
  ...foo, 
  bar: "value" 
};

我想知道这样做是否有好处而不是仅仅

foo.bar= "value";

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,有。通过按照显示的方式进行操作,您将在内存中创建一个全新的对象,而不是对现有对象进行变异。换句话说,这是一个不变的操作。

执行不可变操作的通常原因是,它可以进行更快的相等性检查,因为它只是单个引用检查,而不必深入比较对象的所有属性。