From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../erreurs/redeclared_parameter/index.html | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 files/fr/web/javascript/reference/erreurs/redeclared_parameter/index.html (limited to 'files/fr/web/javascript/reference/erreurs/redeclared_parameter/index.html') diff --git a/files/fr/web/javascript/reference/erreurs/redeclared_parameter/index.html b/files/fr/web/javascript/reference/erreurs/redeclared_parameter/index.html new file mode 100644 index 0000000000..66d52b9b2b --- /dev/null +++ b/files/fr/web/javascript/reference/erreurs/redeclared_parameter/index.html @@ -0,0 +1,62 @@ +--- +title: 'SyntaxError: redeclaration of formal parameter "x"' +slug: Web/JavaScript/Reference/Erreurs/Redeclared_parameter +tags: + - Erreurs + - JavaScript + - SyntaxError +translation_of: Web/JavaScript/Reference/Errors/Redeclared_parameter +--- +
{{jsSidebar("Errors")}}
+ +

Message

+ +
SyntaxError: Let/Const redeclaration (Edge)
+SyntaxError: redeclaration of formal parameter "x" (Firefox)
+SyntaxError: Identifier "x" has already been declared (Chrome)
+
+ +

Type d'erreur

+ +

{{jsxref("SyntaxError")}}

+ +

Quel est le problème ?

+ +

Le même nom de variable est présent comme paramètre de la fonction et dans une affectation let au sein du corps de cette fonction et il n'est pas possible de redéclarer la même variable dans la même fonction ou dans le même bloc avec let.

+ +

Exemples

+ +

Dans le fragment de code qui suit, la variable arg redéclare l'argument passé à la fonction.

+ +
function f(arg) {
+  let arg = "toto";
+}
+
+// SyntaxError: redeclaration of formal parameter "arg"
+
+ +

Si on souhaite changer la valeur de arg dans le corps de la fonction, c'est possible mais il ne faut pas la redéclarer. Autrement dit, on peut retirer le mot-clé let. Si on souhaite plutôt créer une nouvelle variable, mieux vaudra utiliser un autre nom afin d'éviter les conflits avec les noms des paramètres existants.

+ +
function f(arg) {
+  arg = "toto";
+}
+
+function f(arg) {
+  let truc = "toto";
+}
+
+ +

Notes de compatibilité

+ + + +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf