首页 > 解决方案 > 标记的箭头函数

问题描述

在 Javascript 标签的 MDN 文档中,它说:

从 ECMAScript 2015 开始,标记函数声明现在在规范的 Web 兼容性附件中针对非严格代码进行了标准化。

L: function F() {}

但是,我似乎无法标记箭头函数,我想知道为什么会这样。我的简化代码如下:

horizWin: () => { ... }
vertWin: () => { ... }
[horizWin, vertWin].find(element => element)

我在 Create React App 内部并使用 ESLint(如果相关)。我的错误是:

  1. Expected an assignment or function call and instead saw an expression no-unused-expressions这是我不明白的函数标签的错误。

  2. 'horizWin' is not defined'vertWin' is not defined。显然我不能像这样调用标签,但我不确定我做错了什么(假设函数标签是有效的)。

标签: javascriptreactjseslint

解决方案


标签不是变量。它不是您可以参考的代码中的对象。它不是你甚至可以在breakandcontinue语句之外引用的东西。MDN 文档对此非常清楚。

根据这个相关问题,标记的函数甚至不能用于任何事情。它们只是为了向后兼容旧的、糟糕的代码。

看起来您可能正在尝试将箭头函数分配给变量。标签与此无关。只需使用变量声明:

let horizWin = () => { ... }
let vertWin = () => { ... }
[horizWin, vertWin].find(element => element)

推荐阅读