gpt4 book ai didi

javascript - ...state, { } 和 Object.assign({ }, state, { }) 之间的区别

转载 作者:行者123 更新时间:2023-11-30 11:58:19 25 4
gpt4 key购买 nike

在这个问题之前,我假设 ...state, {/* ... */} 等价于 Object.assign({}, state, {/* ... */}) 但我发现越来越多的 repo 协议(protocol)在同一个文件中同时使用这两者,因此现在我有点困惑,认为它们有不同的用途。我尝试在网上查找有关此的信息,但无法找到任何关于它们有何不同的明确解释。

示例:https://github.com/choonkending/react-webpack-node/blob/master/app/reducers/topic.js

最佳答案

I assumed that ...state, { /* ... */ } is equivalent es6 syntax of Object.assign({}, state, { /* ... */ })

您的第一个语法缺乏上下文。在您链接的代码中,它在数组文字中使用:

[...state, { /* ... */ }]

这是一个 spread element构造多个数组元素。

整个过程确实创建了一个数组,而不是像Object.assign({}, …)那样的对象。

展开语法不能用在对象字面量中(在 ES6 中, future 有草案会改变这一点)。

关于javascript - ...state, { } 和 Object.assign({ }, state, { }) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com