标记箭头功能

时间:2020-04-29 21:02:51

标签: javascript reactjs eslint

在Java的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。显然,我不能这样称呼标签,但是我不确定自己在做什么错(假设函数标签是有效的)。

1 个答案:

答案 0 :(得分:2)

标签不是变量。它不是您可以引用的代码中的对象。您甚至不能在breakcontinue语句之外引用它。 MDN docs对此非常清楚。

根据this related question,带标签的函数甚至不能用于任何东西。它们只是为了向后兼容旧的不良代码。

您似乎正在尝试将箭头功能分配给变量。标签与此无关。只需使用变量声明:

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