- 此问题在此处已有答案**:
Where can I get info on the object parameter syntax for JavaScript functions?(1个答案)
12个月前关闭。
我在一个包裹上看到这个代码:
const SortableList = SortableContainer(({items}) => {
return (
<ul>
{items.map((value, index) =>
<SortableItem key={`item-${index}`} index={index} value={value} />
)}
</ul>
);
});
在函数参数中用大括号括住items
会发生什么?
3条答案
按热度按时间ryevplcw1#
这是destructuring assignment语法。
再举一个例子,下面两行代码是相等的:
简而言之,它是访问给定变量特定字段以便在该作用域中进一步使用的一种简化方法。
在原始示例中,它声明了一个变量
items
,用于函数体,即第一个参数的items
字段。等于
nnt7mjpx2#
这个问题可能是一个转帖:What do {curly braces} around javascript variable name mean
但是答案是destructuring assignment,如果传入的对象镜像了引用的变量,那么可以在赋值时检索该特定字段。
xxls0lw83#
这是Destructuring Assignment。
在下面的示例中,大括号"{}"中的变量"name"、"sex"和"age"分别从"data"中提取值"John"、"Male"和"24":
********大括号"{}"中的变量名必须与"data"中的键名相同
如果大括号"{}"中的变量名与"data"中的键名不同,则赋值"undefined":
您可以将大括号中的变量重命名为"{}":
将**大括号"{}"**中的变量重命名后,原变量不起作用并报错: