SyntaxError: Neudeklaration des formalen Parameters "x"
Der JavaScript-Ausnahmefehler "Neudeklaration des formalen Parameters" tritt auf, wenn ein Funktionsparameter denselben Variablennamen aufweist und dann im Funktionskörper erneut mit einer let
-Zuweisung deklariert wird.
Nachricht
SyntaxError: Identifier "x" has already been declared (V8-based) SyntaxError: redeclaration of formal parameter "x" (Firefox) SyntaxError: Cannot declare a let variable twice: 'x'. (Safari)
Fehlertyp
Was ist schiefgelaufen?
Derselbe Variablenname tritt als Funktionsparameter auf und wird dann im Funktionskörper erneut mit einer let
-Zuweisung deklariert. Die Neudeklaration derselben Variablen innerhalb desselben Funktions- oder Blockbereichs mit let
ist in JavaScript nicht erlaubt.
Beispiele
Neu deklariertes Argument
In diesem Fall deklariert die Variable "arg" das Argument neu.
function f(arg) {
let arg = "foo";
}
// SyntaxError: redeclaration of formal parameter "arg"
Wenn Sie den Wert von "arg" im Funktionskörper ändern möchten, können Sie das tun, aber Sie müssen dieselbe Variable nicht erneut deklarieren. Mit anderen Worten: Sie können das let
-Schlüsselwort weglassen. Wenn Sie eine neue Variable erstellen möchten, müssen Sie sie umbenennen, da ein Konflikt mit dem Funktionsparameter bereits besteht.
function f(arg) {
arg = "foo";
}
function g(arg) {
let bar = "foo";
}
Siehe auch
let
const
var
- Grammatik und Typen Leitfaden