Meldung
TypeError: variable "x" redeclares argument (Firefox)
Fehlertyp
TypeError
Warnung nur im strict mode.
Was ist falsch gelaufen?
Der selbe Variablenname für einen Funktionsparameter und einer Neudeklaration mit einer var
Zuweisung im Funktionskörper ist vorhanden. Dieses ist ein Namenskonflikt, weshalb JavaScript eine Warnung erzeugt.
Dieser Fehler ist eine Warnung, die nur im strict mode auftaucht. Ist man nicht im strict mode, so wird die Neudeklaration still ignoriert.
Beispiele
Nicht balider Fall
In diesem Fall wird die Variable "arg" neu deklariert.
'use strict'; function f(arg) { var arg = 'foo'; }
Valider Fall
Um diese Warnung zu vermeiden kann das var
Statement weggelassen werden, weil die Variable schon existiert. In anderen Fällen kann der Funktionsparameter oder die Variable umbenannt werden.
'use strict'; function f(arg) { arg = 'foo'; }