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