【发布时间】:2015-11-04 20:05:58
【问题描述】:
以下函数定义中的大括号是什么意思?
(state, { copy }) => state.push(createItem(copy));
【问题讨论】:
-
..确定这是有效的代码吗?
-
@Reeno 这个问题是关于函数调用中的花括号,而不是定义中的。
以下函数定义中的大括号是什么意思?
(state, { copy }) => state.push(createItem(copy));
【问题讨论】:
在 ES6 中,这称为Object Destructuring。
在那个特定方面,这意味着我可以将一个对象作为函数的参数传入,并将它转换为我可以在该函数中访问的变量,例如:
function f(param1, { param2, param3 }) {
console.log(param2, param3)
}
f("one", {
param2: "A",
param3: "B"
});
优点是不用调用:
f("one", myObject.one, myObject.two);
我可以简单地调用:
f("one", myObject);
one、two 参数将为我相应地映射。
【讨论】: