Javascript 箭头函数有时令人困惑。如果省略return语句会发生什么
今天我在我的代码中发现了一个让我发疯的关于箭头函数的问题 我认为:Javascript 箭头函数有时令人困惑。如果省略return语句会发生什么,javascript,function,ecmascript-6,arrow-functions,Javascript,Function,Ecmascript 6,Arrow Functions,今天我在我的代码中发现了一个让我发疯的关于箭头函数的问题 我认为: classMethod = (param1, param2) => this.APImethod(param1, param2); 相当于: classMethod = (param1, param2) => {this.APImethod(param1, param2)} 但是没有。 这: 正在忽略返回语句。函数同时返回“this.APImethod(param1,param2)” class
classMethod = (param1, param2) =>
this.APImethod(param1, param2);
相当于:
classMethod = (param1, param2) =>
{this.APImethod(param1, param2)}
但是没有。
这:
正在忽略返回语句。函数同时返回“this.APImethod(param1,param2)”
classMethod = (param1, param2) =>
{this.APImethod(param1, param2)}
不返回任何内容,因为如果键入{},则需要指定return语句。
等效功能为:
classMethod = (param1, param2) =>
{return this.APImethod(param1, param2)}
希望这对某些人有用。FWIW,Java中的箭头函数,Swift等。行为相同-
x->foo()
meansx->{return foo()}
(Java语法)。它是相当标准的,来自Haskell语言家族,它的灵感来自mathematicsOh函数的语法之一。我不知道其他语言也有同样的行为。有点道理。我只会说一口流利的JavaScript。
classMethod = (param1, param2) =>
{return this.APImethod(param1, param2)}