SyntaxError: Rest-Parameter darf keinen Standardwert haben
Der JavaScript-Ausnahmefehler "rest parameter may not have a default" tritt auf, wenn ein Rest-Parameter einen Standardwert hat. Da der Rest-Parameter immer ein Array erstellt, würde der Standardwert niemals zutreffen.
Nachricht
SyntaxError: Rest parameter may not have a default initializer (V8-based) SyntaxError: rest parameter may not have a default (Firefox) SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration. (Safari)
Fehlertyp
Was ist schiefgelaufen?
Ein Standard-Parameter gibt einem Parameter einen Standardwert, wenn das Argument nicht übergeben oder als undefined
übergeben wird. Ein Rest-Parameter sammelt alle verbleibenden Argumente, die an die Funktion übergeben werden, und erstellt immer ein Array. Daher ergibt es keinen Sinn, einen Standardwert für einen Rest-Parameter zu haben.
Beispiele
Ungültige Fälle
js
function doSomething(...args = []) {}
Gültige Fälle
js
function doSomething(...args) {
// args is always an array
}