Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Référence des erreurs JavaScript
  5. SyntaxError: function statement requires a name

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 EnglishAlways 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]

Type d'erreur

SyntaxError

Quel est le problème ?

Une déclaration de fonction présente dans le code requiert un nom. Il faut alors vérifier la façon dont la fonction est définie et s'il est nécessaire de lui fournir un nom ou si la fonction en question est une expression de fonction, une fonction immédiatement invoquée ou si le code de la fonction est simplement bien placé dans son contexte.

Exemples

Déclaration / Expression

Une déclaration 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 utiliserune expression de fonction à la place :

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

Si la fonction devait être appelé immédiatement, il suffit d'ajouter des parenthèses autour :

js
(function () {})();

Fonctions étiquetées

Si vous utilisez desfonctions étiquetées, il faut toujours fournir un nom après 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";  }}

Méthodes d'un objet

Si vous souhaitez construire une méthode d'un objet, il faudra d'abord créer l'objet. Dans ce cas, la syntaxe sans le nom après le mot-cléfunction sera valide :

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

Syntaxe et fonctions de rappel (callbacks)

Lorsqu'on utilise lescallbacks, il est facile de s'emmêler les pinceaux entre les parenthèses 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

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp