[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Errors/Unnamed_function_statement [Back]  [Original]

SyntaxError: function statement requires a name - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

SyntaxError: function statement requires a name

Message

Syntax Error: Expected identifier (Edge)
SyntaxError: function statement requires a name [Firefox]
SyntaxError: Unexpected token ( [Chrome]

Dans cet article

Type d'erreur

SyntaxError

Quel est le problme ?

Une dclaration de fonction prsente dans le code requiert un nom. Il faut alors vrifier la faon dont la fonction est dfinie et s'il est ncessaire de lui fournir un nom ou si la fonction en question est une expression de fonction, une fonction immdiatement invoque ou si le code de la fonction est simplement bien plac dans son contexte.

Exemples

Dclaration / Expression

Une dclaration de fonction requiert un nom. Le fragment de code suivant ne fonctionnera pas :

js
function () {
  return 'Coucou monde :)';
}
// SyntaxError: function statement requires a name

On peut utiliser une expression de fonction la place :

js
var salutations = function () {
  return "Coucou monde :)";
};

Si la fonction devait tre appel immdiatement, il suffit d'ajouter des parenthses autour :

js
(function () {})();

Fonctions tiquetes

Si vous utilisez des fonctions tiquetes, il faut toujours fournir un nom aprs le mot-cl function. Le code suivant ne fonctionnera pas :

js
function Greeter() {
  german: function () {
    return "Moin";
  }
}
// SyntaxError: function statement requires a name

En revanche, ceci fonctionnera :

js
function Greeter() {
  german: function g() {
    return "Moin";
  }
}

Mthodes d'un objet

Si vous souhaitez construire une mthode d'un objet, il faudra d'abord crer l'objet. Dans ce cas, la syntaxe sans le nom aprs le mot-cl function sera valide :

js
var greeter = {
  german: function () {
    return "Moin";
  },
};

Syntaxe et fonctions de rappel (callbacks)

Lorsqu'on utilise les callbacks, il est facile de s'emmler les pinceaux entre les parenthses et les virgules :

js
promise.then(
  function() {
    console.log("success");
  });
  function() {
    console.log("error");
}
// SyntaxError: function statement requires a name

La forme correcte serait :

json
promise.then(
  function() {
    console.log("success");
  },
  function() {
    console.log("error");
  }
);

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page