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/var_hides_argument/index.html | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 files/fr/web/javascript/reference/erreurs/var_hides_argument/index.html (limited to 'files/fr/web/javascript/reference/erreurs/var_hides_argument') diff --git a/files/fr/web/javascript/reference/erreurs/var_hides_argument/index.html b/files/fr/web/javascript/reference/erreurs/var_hides_argument/index.html new file mode 100644 index 0000000000..44ba49c346 --- /dev/null +++ b/files/fr/web/javascript/reference/erreurs/var_hides_argument/index.html @@ -0,0 +1,55 @@ +--- +title: 'TypeError: variable "x" redeclares argument' +slug: Web/JavaScript/Reference/Erreurs/Var_hides_argument +tags: + - Erreurs + - JavaScript + - TypeError +translation_of: Web/JavaScript/Reference/Errors/Var_hides_argument +--- +
{{jsSidebar("Errors")}}
+ +

Message

+ +
TypeError: variable "x" redeclares argument (Firefox)
+
+ +

Type d'erreur

+ +

Une erreur {{jsxref("TypeError")}}, uniquement en mode strict.

+ +

Quel est le problème ?

+ +

Le même nom de variable est utilisé comme nom pour un paramètre et comme nom de variable via une affectation var. Cela peut être lié à un conflit de nommage et le moteur envoie un avertissement.

+ +

Cette erreur ne se produit qu'en mode strict. Pour du code non-strict, la redéclaration est ignorée silencieusement..

+ +

Exemples

+ +

Exemples invalides

+ +

Ici, la variable arg redéclare l'argument de la fonction :

+ +
"use strict";
+
+function f(arg) {
+  var arg = "foo";
+}
+
+ +

Exemples valides

+ +

Pour résoudre ce problème, on pourra généralement retirer l'instruction var car la variable existe déjà et peut être utilisée. Si on ne veut pas utiliser cette même variable, mieux vaudra renommer le paramètre ou la variable interne afin de lever l'ambiguïté.

+ +
"use strict";
+
+function f(arg) {
+  arg = "foo";
+}
+
+ +

Voir aussi

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