SyntaxError: missing } after function body

Wyjątek JavaScript "missing } after function body" (brakujący } po ciele funkcji) zdarza się, gdy jest błąd składniowy gdzieś w definicji funkcji. Należy sprawdzić, czy wszystkie klamry i nawiasy są w odpowiednich miejscach i kolejności.

Wiadomość

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

Rodzaj błędu

SyntaxError

Co poszło nie tak?

W którymś miejscu pojawił się błąd przy tworzeniu funkcji. Należy sprawdzić, czy wszystkie zamykaące klamry i nawiasy są we właściwej kolejności. Odpowiednie wcięcia i formatowanie kodu mogą pomóc Ci w odnalezieniu błędu.

Przykłady

Brakująca klamra zamykająca

Często zdarza się, że brakuje klamry zamykającej w funkcji w Twoim kodzie:

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

Poprawny kod wygląda następująco:

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

Może to być o wiele bardziej niejasne, kiedy używane są IIFE, domknięcia, czy inne konstrukcje wymagające wielu różnych nawiasów i klamer, jak na przykład:

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

Często zastosowanie innych wcięć lub dokładne sprawdzenie poprawności wcięć pozwala na znalezienie błędów tego rodzaju.

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

Zobacz też