【问题标题】:ESCMAScript 6 arrow functions - parentheses around parameterECMAScript 6 箭头函数 - 参数周围的括号
【发布时间】:2017-05-09 18:45:26
【问题描述】:

我是 javascript 新手,无法理解简单的事情 - 两者有什么区别

(x) => { return x*2}

x => { return x*2} //(just for example, may not work)

有人可以解释或提供描述链接吗?

【问题讨论】:

标签: javascript ecmascript-6 arrow-functions


【解决方案1】:

只有在有两个或更多输入参数时才需要输入参数的括号(在这种情况下为x)。只有一个(如您在此处所示),这两个语句是相同的。

(x) => { return x * 2; }x => { return x * 2; } 相同

但是,

(x, y) => { return x * y; }

需要在输入参数两边加上括号。

请参阅 this 了解所有血腥细节!

【讨论】:

  • 值得一提的是,如果第一个参数有默认值和/或使用解构,您还需要括号。
  • @loganfsmyth 是的,但这包含在包含的链接中(“血腥”细节的一部分)。
  • 总而言之,我想我对声明 only required when there are two or more input arguments 的绝对性感到惊讶,因为这不是真的,还有其他情况。
  • 血腥细节 的一个有用部分是,在您只返回一个直接值的简单情况下,您可以省略 return 关键字,因为它是隐含的。即x => { return x * 2 }x => x * 2相同
  • 另一个血淋淋的细节是它如何与 ESlint 和 typescript 一起工作:请参阅 SO: expected parentheses around arrow function
猜你喜欢
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多