首页 > 解决方案 > 为什么不能在 JavaScript 函数声明中使用箭头函数表达式语法?

问题描述

我想声明一个这样的函数:

function calculateArea(length, width) {return length * width;}

使用箭头函数表达式语法,如下所示:

function calculateArea(length, width) => length * width;

但是这样做会导致错误。

1) 有人可以解释为什么 JavaScript 箭头函数语法不能在函数声明中使用吗?

2)在函数声明中是否有任何近似使用箭头函数的替代方法?

老实说,如果做不到的话,损失并不大,但我想了解这不起作用是否有更深层次的原因,或者这只是目前语言的限制。

标签: javascriptfunctionlambdadeclarationarrow-functions

解决方案


有人可以解释为什么不能在函数声明中使用 JavaScript 箭头函数语法吗?

因为它不是函数声明语法。

在函数声明中是否有任何近似使用箭头函数的替代方法?

不。


您可以使用以下方法创建函数:

  • 函数声明
  • 函数表达式
  • 箭头函数
  • 速记方法声明
  • Function 构造函数(不要使用这个)

它们的语法不是混合搭配。


如果您想要箭头函数,请使用箭头函数。

const calculateArea = (length, width) => length * width;

......并将其放置在您的代码中,以便不需要提升。


推荐阅读