HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
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
Syntax Error: Expected identifier (Edge) SyntaxError: function statement requires a name [Firefox] SyntaxError: Unexpected token ( [Chrome]
SyntaxError
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.
Une déclaration de fonction requiert un nom. Le fragment de code suivant ne fonctionnera pas :
function () { return 'Coucou monde :)'; } // SyntaxError: function statement requires a name
On peut utiliser une expression de fonction à la place :
var salutations = function () { return "Coucou monde :)"; };
Si la fonction devait être appelé immédiatement, il suffit d'ajouter des parenthèses autour :
(function () {})();
Si vous utilisez des fonctions étiquetées, il faut toujours fournir un nom après le mot-clé function. Le code suivant ne fonctionnera pas :
function
function Greeter() { german: function () { return "Moin"; } } // SyntaxError: function statement requires a name
En revanche, ceci fonctionnera :
function Greeter() { german: function g() { return "Moin"; } }
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 :
var greeter = { german: function () { return "Moin"; }, };
Lorsqu'on utilise les callbacks, il est facile de s'emmêler les pinceaux entre les parenthèses et les virgules :
promise.then( function() { console.log("success"); }); function() { console.log("error"); } // SyntaxError: function statement requires a name
La forme correcte serait :
promise.then( function() { console.log("success"); }, function() { console.log("error"); } );
label