1. ホーム
  2. javascript

[解決済み] Uncaught SyntaxError: 予期しないトークン戻り - まだ答えはない?

2022-02-25 13:24:25

質問

このタイトルの質問は何十件もありますが、私が見つけたすべての回答は、ある特定のケースで動作するいくつかのハックに言及しているようですが、他のケースでは役に立ちません。多くの人がjQueryやAjaxに関心を寄せていますが、問題は非常に基本的なレベルで発生する純粋なJavaScriptです。

function f() {
  false || (return true);
}

この関数宣言は(実行せずに)次のように投げます。

Uncaught SyntaxError: Unexpected token return

をChromeで、そして

SyntaxError: Return statements are only valid inside functions

をSafariで表示します。しかし、この機能はそうではありません。

function f() {
  false || (a=true);
  return true;
}

どなたかこの奇妙な動作を説明できる方はいらっしゃいますか?

解決方法は?

なぜなら return は式ではないが、それは 期待する を表現することができます。

function f() {
  return false || true;
}