TypeError: variable "x" redeclares argument

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';
}

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,