【问题标题】:Arrow functions are sometimes confusing. What happens if you omit return statement [duplicate]箭头函数有时令人困惑。如果您省略 return 语句会发生什么[重复]
【发布时间】:2020-06-18 05:30:13
【问题描述】:

今天我在我的代码中发现了一个箭头函数问题,这让我完全发疯了。

我以为是这样的:

 classMethod = (param1, param2) =>
    this.APImethod(param1, param2);

相当于这个:

classMethod = (param1, param2) =>
    {this.APImethod(param1, param2)}

【问题讨论】:

  • FWIW,Java、Swift 等中的箭头函数表现相同 - x->foo() 表示 x->{return foo()}(Java 语法)。它相当标准,来自 Haskell 语言家族,其灵感来自数学中的一种函数语法
  • 哦,谢谢。我不知道其他语言有相同的行为。有点道理。我只精通 JavaScript。

标签: javascript function ecmascript-6 arrow-functions


【解决方案1】:

但是没有。 这个:

 classMethod = (param1, param2) =>
    this.APImethod(param1, param2);

省略了 return 语句。该函数正在返回“this.APImethod(param1,param2)”,同时

classMethod = (param1, param2) =>
    {this.APImethod(param1, param2)}

不返回任何内容,因为如果键入 { },则需要指定 return 语句。 等效的功能是:

classMethod = (param1, param2) =>
    {return this.APImethod(param1, param2)}

希望这对某人有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多