javascript エラー「Uncaught SyntaxError: Rest element must be last element」の解決方法

javascript エラー「Uncaught SyntaxError: Rest element must be last element」の解決方法

javascriptで、エラー「Uncaught SyntaxError: Rest element must be last element」が発生した場合の原因と解決方法を記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 102.0.5005.115

エラー内容

以下のコードで発生。

let [x, y, ...a, z] = [1, 2, 3, 4, 5, 6, 7, 8, 9]

console.log(x, y, a, z)

エラーメッセージ

Uncaught SyntaxError: Rest element must be last element

画像

firefox(バージョン101)では、以下のエラーとなります。

Uncaught SyntaxError: rest element may not have a trailing comma

画像

原因

スプレッド構文は、最後にしか使用できないため

解決方法

最後に使用する

let [x, y , z, ...a] = [1, 2, 3, 4, 5, 6, 7, 8, 9]

console.log(x, y, a, z)

実行結果

以下の最後にカンマを使用したパターンでも同様のエラーが発生します。

let {a, b, ...x,} = {a:10, b:20, c:30, d:40}

console.log(a, b, x)

この場合は、カンマを外して使用すると解決します。

let {a, b, ...x} = {a:10, b:20, c:30, d:40}

console.log(a, b, x) // 10 20 {c: 30, d: 40}