Javascript Destructuring设置对象属性

Javascript Destructuring设置对象属性,javascript,reactjs,Javascript,Reactjs,我理解了扩展运算符,它是 let color_lawn = { title: "lawn", color: "#00FF00", rating: 0 }) 它返回一个新对象,其中包含传递的对象及其整个属性和函数参数中的值,在我的示例中,颜色如下所示 console.log(rateColor1(color_lawn, 5)); 现在我的问题是:如果上面的函数调用 console.log(rateColor1(color_lawn, 5)) 我不明白的

我理解了扩展运算符,它是

let color_lawn = {
title: "lawn",
color: "#00FF00",
rating: 0
})

它返回一个新对象,其中包含传递的对象及其整个属性和函数参数中的值,在我的示例中,颜色如下所示

console.log(rateColor1(color_lawn, 5));
现在我的问题是:如果上面的函数调用

console.log(rateColor1(color_lawn, 5))
我不明白的是如果我们说返回对象的副本`( {…颜色,5})

那么,当我们没有使用评级时,评级为何会变为5:5;或颜色。额定值=5

这是否意味着评级实际上包含两项内容?5并指向对象分级键

我完全理解的另一个例子是:

const rateColor = function(color, rating) {
return Object.assign({}, color, { rating: rating });
})


但是我不理解这个
constratecolor1=(颜色,等级)=>({…颜色,等级})5如何分配给评级的一种方法。

这是因为
{rating}
{rating:rating}
的缩写


因此,您需要
color
的所有属性以及设置为variable
rating
值的属性
rating

这就是ES6语法的工作方式。该函数确实提到了
评级
,它同时作为属性名和属性值。现在可以理解了。谢谢如果这对你有帮助,请给答案打分。谢谢
const rateColor = function(color, rating) {
return Object.assign({}, color, { rating: rating });