TypeError: variable "x" redeclares argument

Message

TypeError: variable "x" redeclares argument (Firefox)

Type d'erreur

Une erreur 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