Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】SyntaxError: rest parameter may not have a defaultエラーの使い方

SyntaxError: rest parameter may not have a defaultエラーの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

SyntaxError: rest parameter may not have a defaultオブジェクトは、JavaScriptのコードが文法的に誤っている場合に発生するエラーを表すオブジェクトです。このエラーは、関数の「残余引数(rest parameter)」に「デフォルト値」を設定しようとしたときに発生します。

残余引数とは、関数に渡される複数の引数を、...引数名という形式で一つの配列としてまとめて受け取るための特別な機能です。これにより、関数は可変長の引数を柔軟に処理することができます。例えば、function example(a, ...restArgs) { ... } と記述した場合、restArgsにはaに割り当てられた引数以外の、後続のすべての引数が配列として格納されます。

一方、デフォルト値とは、関数の引数が呼び出し時に省略された場合に、あらかじめ指定された値を使用するための機能です。例えば、function example(param = 10) { ... } と記述することで、paramに引数が渡されなかった場合に10が使用されます。

このSyntaxErrorが発生する理由は、残余引数の性質とデフォルト値の機能が根本的に矛盾しているためです。残余引数は、たとえ該当する引数が一つも渡されなかった場合でも、常に空の配列が割り当てられます。つまり、引数がないという状況が存在しないため、デフォルト値を設定する必要がありません。そのため、JavaScriptの文法では、残余引数にデフォルト値を設定することは許可されておらず、これを試みるとこの構文エラーが発生します。このエラーが発生した際は、残余引数に設定されたデフォルト値を削除して修正してください。

構文(syntax)

1function exampleFunction(...restParameter = []) {
2  // この構文はSyntaxError: rest parameter may not have a defaultを引き起こします
3}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語