【问题标题】:The use of brackets in javascript arrow function declarationjavascript箭头函数声明中括号的使用
【发布时间】:2016-06-16 01:15:12
【问题描述】:

在 ES6/ES2015 中,箭头函数可以在参数周围使用或不使用括号来声明。

即:

var foo_1 = myVar => {
  return myVar + 1;
}

或:

var foo_2 = (myVar) => {
  return myVar + 2;
}

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

【问题讨论】:

  • 没有。如果只有一个参数,您可以使用其中任何一个。 PS:那些是“括号”,而不是“括号”
  • 这是一个参数,不是属性。
  • 闭包中括号的目的只是你可以有多个参数。您的示例中没有差异..

标签: javascript ecmascript-6 arrow-functions


【解决方案1】:

你的例子没有区别。

如果你需要括号

  • 没有参数:() => ...
  • 有多个参数:(foo, bar) => ...
  • 使用解构:({foo}) => ...
  • 使用默认值:(foo = 42) => ...
  • 有一个休息参数:(...bar) => ...
  • 以上任意组合

换句话说,只要你没有一个单独的标识符参数。

【讨论】:

  • foo_1.toString() != foo_2.toString() 是唯一的区别:-)
猜你喜欢
  • 2016-05-28
  • 2018-08-31
  • 2020-03-01
  • 1970-01-01
  • 2022-01-19
  • 2022-12-07
  • 1970-01-01
相关资源
最近更新 更多