--- title: 'TypeError: variable "x" redeclares argument' slug: Web/JavaScript/Reference/Errors/Var_hides_argument tags: - Errors - JavaScript - Strict Mode - TypeError translation_of: Web/JavaScript/Reference/Errors/Var_hides_argument original_slug: Web/JavaScript/Reference/Fehler/Var_hides_argument ---
TypeError: variable "x" redeclares argument (Firefox)
{{jsxref("TypeError")}} Warnung nur im strict mode.
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.
In diesem Fall wird die Variable "arg" neu deklariert.
'use strict'; function f(arg) { var arg = 'foo'; }
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'; }