SyntaxError: parameter nach Rest-Parameter
Der JavaScript-Ausnahmefehler "parameter after rest parameter" tritt auf, wenn ein Rest-Parameter in einer Parameterliste von etwas anderem gefolgt wird, einschließlich eines weiteren Rest-Parameters, eines formalen Parameters oder eines nachgestellten Kommas.
Meldung
SyntaxError: Rest parameter must be last formal parameter (V8-based) SyntaxError: parameter after rest parameter (Firefox) SyntaxError: Unexpected token ','. Rest parameter should be the last parameter in a function declaration. (Safari)
Fehlertyp
Was ist schief gelaufen?
Ein Rest-Parameter muss der letzte Parameter in einer Funktionsdefinition sein. Dies liegt daran, dass der Rest-Parameter alle verbleibenden Argumente sammelt, die an die Funktion übergeben werden. Daher macht es keinen Sinn, weitere Parameter nach ihm zu haben. Das nächste Nicht-Leerzeichen-Zeichen muss die schließende Klammer der Parameterliste sein.
Beispiele
Ungültige Fälle
js
function replacer(match, ...groups, offset, string) {}
function doSomething(
arg1,
arg2,
...otherArgs, // Accidental trailing comma
) {}
Gültige Fälle
js
function replacer(match, ...args) {
const offset = args.at(-2);
const string = args.at(-1);
}
function doSomething(arg1, arg2, ...otherArgs) {}