SyntaxError: missing } after function body

Message

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

Type d'erreur

Quel est le problĂšme ?

Il y a une erreur de syntaxe prÚs d'une création de fonction. Dans ce cas, il est préférable de vérifier que les parenthÚses et accolades fermantes sont bien présentes et dans le bon ordre. Indenter et formater le code peut vous aider à vous y retrouver parmi les éventuels différents niveaux d'imbrication.

Exemples

Oubli d'une accolade fermante

La plupart du temps, il s'agit d'une accolade manquante dans le code de la fonction :

var charge = function() {
  if (soleil) {
    utiliserPanneauSolaire();
  } else {
    utiliserVelo();
};

La forme correcte est :

var charge = function() {
  if (soleil) {
    utiliserPanneauSolaire();
  } else {
    utiliserVelo();
  }
};

Une erreur de ce type peut ĂȘtre moins visible lorsqu'on utilise les fonctions qui sont appelĂ©es immĂ©diatement, les fermetures ou d'autres formes qui utilisent de nombreuses parenthĂšses et/ou accolades comme par exemple :

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

Généralement, mettre en forme et vérifier l'indentation permet de repérer ces erreurs.

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

Voir aussi