【JavaScript ECMAScript】SyntaxError: parameter after rest parameterエラーの使い方
SyntaxError: parameter after rest parameterエラーの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
SyntaxError: parameter after rest parameterクラスは、JavaScriptの関数定義において、レストパラメータ(rest parameter)の後に別の仮引数(パラメータ)を記述した場合に発生する構文エラーを表すクラスです。
レストパラメータとは、...引数名のように三点リーダ(...)を使って定義される特別な引数のことで、関数に渡された引数のうち、すでに他の仮引数に割り当てられた残りのすべての引数を配列としてまとめて受け取るために使用されます。この特性から、レストパラメータは常に、関数定義の仮引数リストの中で最も最後に記述されなければならないというJavaScriptの文法規則があります。
このエラーは、レストパラメータの後に別の仮引数を定義しようとした際に発生します。なぜなら、レストパラメータが導入されると、それ以降に続くすべての引数がレストパラメータによって配列としてまとめられてしまうため、その後に定義された個別の仮引数には、値が割り当てられる機会がなくなってしまうためです。
このエラーを回避するためには、関数を定義する際に、レストパラメータを必ず仮引数リストの最後の要素として記述する必要があります。もしレストパラメータの後に別の引数が必要な場合は、関数の内部でその引数を処理するロジックを実装するか、引数の渡し方自体を見直してください。
構文(syntax)
1function func(...rest, p2) { 2 // This will cause a SyntaxError: parameter after rest parameter 3}
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません