Javascript 带标签的箭头函数
在Javascript标签的MDN文档中,它说: 从ECMAScript 2015开始,在规范的web兼容性附件中,标记的函数声明现在已标准化为非严格代码Javascript 带标签的箭头函数,javascript,reactjs,eslint,Javascript,Reactjs,Eslint,在Javascript标签的MDN文档中,它说: 从ECMAScript 2015开始,在规范的web兼容性附件中,标记的函数声明现在已标准化为非严格代码 L:function F(){} 然而,我似乎无法标记箭头函数,我想知道为什么会出现这种情况。我的简化代码如下: horizWin: () => { ... } vertWin: () => { ... } [horizWin, vertWin].find(element => element) 我在CreateReact
L:function F(){}
然而,我似乎无法标记箭头函数,我想知道为什么会出现这种情况。我的简化代码如下:
horizWin: () => { ... }
vertWin: () => { ... }
[horizWin, vertWin].find(element => element)
我在CreateReact应用程序中,正在使用ESLint(如果相关的话)。我的错误是:
应为赋值或函数调用,但却看到了表达式no unused expressions
这是我的函数标签错误,我不理解
“horizWin”未定义
且未定义“vertWin”
。显然,我不能这样调用标签,但我不确定我做错了什么(假设函数标签是有效的)
标签不是变量。它不是代码中可以引用的对象。除了
break
和continue
语句之外,它一般都不能被引用。政府对此非常清楚
根据,带标签的函数甚至不能用于任何事情。它们只是为了向后兼容旧的、糟糕的代码
看起来您可能正在尝试将箭头函数分配给变量。标签与此无关。只需使用变量声明:
let horizWin = () => { ... }
let vertWin = () => { ... }
[horizWin, vertWin].find(element => element)
标签不是变量。它不是代码中可以引用的对象。除了
break
和continue
语句之外,它一般都不能被引用。政府对此非常清楚
根据,带标签的函数甚至不能用于任何事情。它们只是为了向后兼容旧的、糟糕的代码
看起来您可能正在尝试将箭头函数分配给变量。标签与此无关。只需使用变量声明:
let horizWin = () => { ... }
let vertWin = () => { ... }
[horizWin, vertWin].find(element => element)
你不是只想要
horizWin=()=>{}
和vertWin=()=>{}
?为什么要使用标签?此外,正如MDN文档所说,您可以使用带有标签的函数声明,但是,箭头函数是表达式。当我阅读“非严格”和“web兼容性附件”时,我马上转身跑开。您不只是想要horizWin=()=>{}
和vertWin=()=>{}
?为什么要使用标签?此外,正如MDN文档所说,您可以使用带有标签的函数声明,但是,箭头函数是表达式。当我读到“非严格”和“web兼容性附件”时,我转过身,尽可能快地跑开。啊,所以基本上不使用带标签的函数。明白了。我使用了变量,但只是想了解为什么标签不起作用。我使用了变量,但使用了const horizWin=()=>{…}
。它是否必须是let
,因为如果我使用变量调用我的函数,它将被重新分配给返回值,这将是非法的,因为它是常量
?@j_krl我建议在适当的新问题中进一步提问,而不是在这里进行注释。简而言之,let
或const
两者都起作用,只是意图不同而已。我在这段代码中没有看到任何重新赋值,所以const
不会出错。啊,所以基本上不使用带标签的函数。明白了。我使用了变量,但只是想了解为什么标签不起作用。我使用了变量,但使用了const horizWin=()=>{…}
。它是否必须是let
,因为如果我使用变量调用我的函数,它将被重新分配给返回值,这将是非法的,因为它是常量
?@j_krl我建议在适当的新问题中进一步提问,而不是在这里进行注释。简而言之,let
或const
两者都起作用,只是意图不同而已。我在这段代码中没有看到任何重新分配,因此const
不会出错。