JavaScript 扩展运算符。 { ... obj } 和 obj 有什么区别

标签 javascript ecmascript-6

我正在开发一个react项目,我继承的代码经常引用带有扩展运算符的对象,如下所示:

{ ...obj }

而不仅仅是:

obj

这两种说法有什么实际区别吗?在 react /不同情况下哪种是最佳实践?

最佳答案

大多数情况下它们返回相同的对象。当然,当你这样做时

let obj2 = { ...obj };

您正在创建前一个对象的(浅)副本,因为您枚举了 obj 的属性并将它们添加到新对象 {} 中。

“几乎”是因为展开运算符仅处理可枚举属性。

关于JavaScript 扩展运算符。 { ... obj } 和 obj 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310474/

相关文章:

javascript - 如何在 Radium 中包装 react redux connect?

javascript - 使用 forEach 通过 push 方法创建另一个数组,但循环结束后数组为空

javascript - 生成对象的属性访问

reactjs - ES6 React istanbul 未收集覆盖率信息,退出时不写入覆盖率信息

javascript - 如何防止 underscore.js 模板创建不需要的空行?

javascript - “this” 关键字似乎不起作用

javascript - For 循环第二个参数令人困惑

javascript - 使用 ES6 语法注册 AngularJS 服务

javascript - 用小细线分隔 2 个网格面板(在 hbox 中),而不是拆分器

javascript - 如何等到 onload 事件在 JavaScript 中完成它的工作?