SyntaxError: rest parameter may not have a default
The JavaScript exception "rest parameter may not have a default" occurs when a rest parameter has a default value. Because the rest parameter always creates an array, the default value would never apply.
Message
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)
Error type
What went wrong?
A default parameter gives a parameter a default value if the argument is not passed or passed as undefined
. A rest parameter collects all the remaining arguments passed to the function and always creates an array. Therefore, it doesn't make sense to have a default value for a rest parameter.
Examples
Invalid cases
js
function doSomething(...args = []) {}
Valid cases
js
function doSomething(...args) {
// args is always an array
}