javascript エラー「SyntaxError: Unexpected token ‘,’. Expected a closing ‘]’ following a rest element destructuring pattern.」の解決方法

javascript エラー「SyntaxError: Unexpected token ‘,’. Expected a closing ‘]’ following a rest element destructuring pattern.」の解決方法

javascriptで、エラー「SyntaxError: Unexpected token ‘,’. Expected a closing ‘]’ following a rest element destructuring pattern.」が発生した場合の原因と解決方法を記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ safari 15.0

エラー内容

以下のコードで発生。

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

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

エラーメッセージ

SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.

画像

原因

スプレッド構文で、データを取得するときは、最後にしか使用できないため

解決方法

スプレッド構文を、最後に使用する

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}