SyntaxError: missing } after function body

JavaScript の例外 "missing } after function body" は、どこかで関数を作成するときに構文の間違いがある場合に発生します。閉じる中括弧や括弧が正しい順序で並んでいるか確認してください。

エラーメッセージ

js
SyntaxError: Expected '}' (Edge)
SyntaxError: missing } after function body (Firefox)

エラータイプ

何がうまくいかなかったのか?

どこかで関数を生成するときに、構文上のミスをしています。また、括弧や中括弧の閉じが正しい順番かどうかを確認してください。コードをフォーマットしたり、インデントしたりすると、ジャングルを探すのに役立つと思います。

閉じ括弧忘れ

しばしば、関数コードで閉じ括弧を忘れることがあります。

js
var charge = function() {
  if (sunny) {
    useSolarCells();
  } else {
    promptBikeRide();
};

正しくは、次の通りです。

js
var charge = function () {
  if (sunny) {
    useSolarCells();
  } else {
    promptBikeRide();
  }
};

たとえば、 IIFEクロージャ、そのほかのたくさんの中括弧や括弧を使用する構造を使用しているときは、さらに分かりにくくなります。

js
(function() { if (true) { return false; } );

多くの場合、インデントを変えるか、インデントをダブルチェックすると、これらのエラーを特定するのに役立ちます。

js
(function () {
  if (true) {
    return false;
  }
});

関連項目