SyntaxError: Restparameter darf keinen Standardwert haben

Die JavaScript-Ausnahme "rest parameter may not have a default" tritt auf, wenn ein Restparameter einen Standardwert hat. Da der Restparameter immer ein Array erstellt, würde der Standardwert niemals angewendet.

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 Standardparameter gibt einem Parameter einen Standardwert, wenn das Argument nicht übergeben wird oder als undefined übergeben wird. Ein Restparameter sammelt alle restlichen Argumente, die an die Funktion übergeben werden, und erstellt immer ein Array. Daher ergibt es keinen Sinn, einen Standardwert für einen Restparameter zu haben.

Beispiele

Ungültige Fälle

js
function doSomething(...args = []) {}

Gültige Fälle

js
function doSomething(...args) {
  // args is always an array
}

Siehe auch