【问题标题】:Short circuit evaluation in JavaScript - SyntaxError: Unexpected token 'return'JavaScript 中的短路评估 - SyntaxError: Unexpected token 'return'
【发布时间】:2020-02-18 13:56:50
【问题描述】:

我想使用article 中示例所述的短路评估语法(使用&& 运算符):

说,我有这种情况:

function externalFunction() {

    id == ...
    text == ...

    // OK: Standard if syntax is fine

    if ( aFunction(id, text) ) return

    // KO: Short circuit evaluation generate a RUN-TIME ERROR: 
    // SyntaxError: Unexpected token 'return'
    // anotherFunction(id, text) && return
    //                              ^^^^^^

    anotherFunction(id, text) && return


}

为什么我有错误? 也许我不能使用带有语言关键字(return)的单个语句?

【问题讨论】:

    标签: javascript node.js if-statement operator-keyword expression-evaluation


    【解决方案1】:

    && 的右侧需要是一个表达式。您正试图在那里发表声明。

    && 必须评估为 something,但 return x 不会为您提供 。它退出函数并将其 RHS 传递给调用函数。

    【讨论】:

    • 谢谢,真的。我正在寻找一种“优雅”/简短的方法来评估函数/条件列表,如果它们返回 true,则必须从外部函数返回。
    • 使用if 语句。它清晰而优雅。极度简洁不是美德。
    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2013-06-19
    相关资源
    最近更新 更多