From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../errors/unnamed_function_statement/index.md | 103 +++++++++++---------- 1 file changed, 56 insertions(+), 47 deletions(-) (limited to 'files/fr/web/javascript/reference/errors/unnamed_function_statement') diff --git a/files/fr/web/javascript/reference/errors/unnamed_function_statement/index.md b/files/fr/web/javascript/reference/errors/unnamed_function_statement/index.md index 286bd78e7e..42417c4f4d 100644 --- a/files/fr/web/javascript/reference/errors/unnamed_function_statement/index.md +++ b/files/fr/web/javascript/reference/errors/unnamed_function_statement/index.md @@ -8,82 +8,92 @@ tags: translation_of: Web/JavaScript/Reference/Errors/Unnamed_function_statement original_slug: Web/JavaScript/Reference/Erreurs/Unnamed_function_statement --- -
{{jsSidebar("Errors")}}
+{{jsSidebar("Errors")}} -

Message

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

Type d'erreur

+## Type d'erreur -

{{jsxref("SyntaxError")}}

+{{jsxref("SyntaxError")}} -

Quel est le problème ?

+## 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.

+[Une déclaration de fonction](/fr/docs/Web/JavaScript/Reference/Instructions/function) 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

+## Exemples -

Déclaration / Expression

+### Déclaration / Expression -

Une déclaration de fonction requiert un nom. Le fragment de code suivant ne fonctionnera pas :

+Une déclaration de fonction requiert un nom. Le fragment de code suivant ne fonctionnera pas : -
function () {
+```js example-bad
+function () {
   return 'Coucou monde :)';
 }
 // SyntaxError: function statement requires a name
-
+``` -

On peut utiliser une expression de fonction à la place :

+On peut utiliser [une expression de fonction](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_function) à la place : -
var salutations = function() {
+```js example-good
+var salutations = function() {
   return 'Coucou monde :)';
-};
+}; +``` -

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

+Si la fonction devait être appelé immédiatement, il suffit d'ajouter des parenthèses autour : -
(function () {
+```js example-good
+(function () {
 
-})();
+})(); +``` -

Fonctions étiquetées

+### Fonctions étiquetées -

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 :

+Si vous utilisez des [fonctions étiquetées](/fr/docs/Web/JavaScript/Reference/Instructions/label), il faut toujours fournir un nom après le mot-clé `function`. Le code suivant ne fonctionnera pas : -
function Greeter() {
+```js example-bad
+function Greeter() {
   german: function () {
     return "Moin";
   }
 }
 // SyntaxError: function statement requires a name
-
+``` -

En revanche, ceci fonctionnera :

+En revanche, ceci fonctionnera : -
function Greeter() {
+```js example-good
+function Greeter() {
   german: function g() {
     return "Moin";
   }
-}
+} +``` -

Méthodes d'un objet

+### 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 :

+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 = {
+```js example-good
+var greeter = {
   german: function () {
     return "Moin";
   }
-};
+}; +``` -

Syntaxe et fonctions de rappel (callbacks)

+### Syntaxe et fonctions de rappel (_callbacks_) -

Lorsqu'on utilise les callbacks, il est facile de s'emmêler les pinceaux entre les parenthèses et les virgules :

+Lorsqu'on utilise les _callbacks_, il est facile de s'emmêler les pinceaux entre les parenthèses et les virgules : -
promise.then(
+```js example-bad
+promise.then(
   function() {
     console.log("success");
   });
@@ -91,11 +101,12 @@ SyntaxError: Unexpected token ( [Chrome]
     console.log("error");
 }
 // SyntaxError: function statement requires a name
-
+``` -

La forme correcte serait :

+La forme correcte serait : -
promise.then(
+```json example-good
+promise.then(
   function() {
     console.log("success");
   },
@@ -103,14 +114,12 @@ SyntaxError: Unexpected token ( [Chrome]
     console.log("error");
   }
 );
-
+``` -

Voir aussi

+## Voir aussi - +- [Les fonctions dans le guide JavaScript](/fr/docs/Web/JavaScript/Guide/Fonctions) +- [Les déclarations de fonction](/fr/docs/Web/JavaScript/Reference/Instructions/function) +- [Les expressions de fonction](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_function) +- [Les fonctions immédiatement invoquées (ou _IIFE_ en anglais)](https://en.wikipedia.org/wiki/Immediately-invoked_function_expression) +- [`label`](/fr/docs/Web/JavaScript/Reference/Instructions/label) -- cgit v1.2.3-54-g00ecf