SyntaxError: return not in function

Message

SyntaxError: 'return' statement outside of function (Edge)
SyntaxError: return not in function (Firefox)
SyntaxError: yield not in function (Firefox)

Type d'erreur

Quel est le problème ?

Une instruction return ou yield est utilisée en dehors d'une fonction. Il est possible que des accolades soient manquantes. Les mots-clés return et yield doivent être utilisés dans une fonction car ils permettent de terminer ou d'arrêter/reprendre l'exécution d'une fonction et de définir une valeur qui doit être renvoyée à l'appelant de la fonction.

Exemples

js
var encouragement = function(score) {
  if (score === 147)
    return "Super !";
  };
  if (score > 100) {
    return "Un record!";
  }
}

// SyntaxError: return not in function

À première vue, les accolades semblent correctes mais en regardant de plus près, on voit qu'il manque une accolade ouvrante ("{") après la première instruction if. La version correcte serait :

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

Voir aussi