Оценка короткого замыкания в JavaScript - SyntaxError: Неожиданное возвращение токена - PullRequest
0 голосов
/ 18 февраля 2020

Я хотел бы использовать синтаксис оценки короткого замыкания (с оператором &&), как описано в примере в статье :

Скажем, у меня такая ситуация:

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)?

1 Ответ

6 голосов
/ 18 февраля 2020

Правая часть && должна быть выражением . Вы пытаетесь поместить туда утверждение.

&& должно оцениваться как что-то , но return x не дает вам значение . Он выходит из функции и передает свою RHS вызывающей функции.

...