gpt4 book ai didi

javascript - 如何使用 || 的箭头函数运算符(operator)

转载 作者:数据小太阳 更新时间:2023-10-29 04:30:48 26 4
gpt4 key购买 nike

使用 Babel,我可以看到

 callback = () => {};

编译为

callback = function callback() {};

这是我所期望的。但是,当我尝试将它与 ||

一起使用时出现错误
callback = callback || () => {}

我希望它等同于

 callback = callback || function(){};

为什么这是一个错误?另外,对于这种熟悉的语法,是否有更正确的 ES6 版本?

最佳答案

失败是因为语法无效。

使用以下命令使其工作:

callback = callback || (() => {})

如果您不以这种方式包装它,它将被解释为您键入以下内容。但这是无效的语法。

callback = (callback || ()) => {}

要扩展对作业的评估,请参阅 AssignmentExpression 的规范.它由一个 ConditionalExpression 或一个 ArrowFunction(或我将忽略的其他一些表达式)组成。因此解释器将尝试使用您的代码作为条件。但是 () 本身在那个上下文中是无效的,因为 inside ParenthesizedExpression 应该是一个表达式。结果,它将失败。如果您改为将表达式分组为 callback || (() => {}) LogicalOrExpressions 的两边都是有效的表达式。

关于javascript - 如何使用 || 的箭头函数运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39795104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com