このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

SyntaxError: return not in function

JavaScript の例外 "return not in function" は、 return 文が関数の外側で呼び出されたときに発生します。

エラーメッセージ

SyntaxError: Illegal return statement (V8-based)
SyntaxError: return not in function (Firefox)
SyntaxError: Return statements are only valid inside functions. (Safari)

エラー型

SyntaxError.

エラーの原因

return 文が 関数 の外側で呼び出されました。どこかで、中括弧を忘れたのかもしれません。 return 文は、関数内で使用しなければなりません。これらの文は、関数の実行を終了(または、停止や再開)し、関数の呼び出し元に返す値を指定するからです。

例

中括弧がない場合

js
function cheer(score) {
  if (score === 147)
    return "Maximum!";
  }
  if (score > 100) {
    return "Century!";
  }
}

// SyntaxError: return not in function

一見すると、中括弧は正しく見えますが、このコードスニペットでは、最初の if 文の後の { を忘れています。正しくは以下のようにします。

js
function cheer(score) {
  if (score === 147) {
    return "Maximum!";
  }
  if (score > 100) {
    return "Century!";
  }
}

関連情報