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