在Java的MDN文档标签中,它说:
从ECMAScript 2015开始,现在已在规范的Web兼容性附件中将标有标签的函数声明标准化为非严格代码。
L: function F() {}
但是,似乎无法标记箭头功能,我想知道为什么会这样。我的简化代码如下:
horizWin: () => { ... }
vertWin: () => { ... }
[horizWin, vertWin].find(element => element)
我在Create React App内,并使用ESLint(如果相关)。我的错误是:
Expected an assignment or function call and instead saw an expression no-unused-expressions
这是我不理解的函数标签错误。
'horizWin' is not defined
和'vertWin' is not defined
。显然,我不能这样称呼标签,但是我不确定自己在做什么错(假设函数标签是有效的)。
答案 0 :(得分:2)
标签不是变量。它不是您可以引用的代码中的对象。您甚至不能在break
和continue
语句之外引用它。 MDN docs对此非常清楚。
根据this related question,带标签的函数甚至不能用于任何东西。它们只是为了向后兼容旧的不良代码。
您似乎正在尝试将箭头功能分配给变量。标签与此无关。只需使用变量声明:
let horizWin = () => { ... }
let vertWin = () => { ... }
[horizWin, vertWin].find(element => element)