javascript箭头函数声明中括号的使用

javascript箭头函数声明中括号的使用,javascript,ecmascript-6,arrow-functions,Javascript,Ecmascript 6,Arrow Functions,在ES6/ES2015中,可以在参数周围声明带括号或不带括号的箭头函数 即: 或: 我想知道的是: 区别是什么(如果有的话)?您的示例中没有区别 如果需要,则需要括号 没有参数:()=>… 有多个参数:(foo,bar)=>… 使用解构:({foo})=>… 使用默认值:(foo=42)=>… 有一个rest参数:(…bar)=>… 有上述任何组合 换言之,当您没有一个仅标识符的参数时。没有。如果只有一个参数,您可以使用其中一个。PS:这些是“括号”,不是“括号”。顺便说一句,这是一个参数,

在ES6/ES2015中,可以在参数周围声明带括号或不带括号的箭头函数

即:

或:

我想知道的是:
区别是什么(如果有的话)?

您的示例中没有区别

如果需要,则需要括号

  • 没有参数:
    ()=>…
  • 有多个参数:
    (foo,bar)=>…
  • 使用解构:
    ({foo})=>…
  • 使用默认值:
    (foo=42)=>…
  • 有一个rest参数:
    (…bar)=>…
  • 有上述任何组合

换言之,当您没有一个仅标识符的参数时。

没有。如果只有一个参数,您可以使用其中一个。PS:这些是“括号”,不是“括号”。顺便说一句,这是一个参数,不是一个属性。在闭包中使用括号的目的就是可以有多个参数。您的示例中没有差异..
foo_1.toString()!=foo_2.toString()
是唯一的区别:-)
var foo_1 = myVar => {
  return myVar + 1;
}
var foo_2 = (myVar) => {
  return myVar + 2;
}