JavaScriptにおける配列の分割代入における変数宣言

分割代入時に変数を宣言する必要はありません。 変数は事前に宣言することができ、その場合、 代入時にletコマンドを書く必要はなくなります:

javascriptlet arr = [2025, 12, 31];
let year;
let month;
let day;

[year, month, day] = arr;

しかし、ニュアンスがあります。次のコードを見てください:

javascriptlet arr = [2025, 12, 31];
let year;

let [year, month, day] = arr;

ご覧の通り、変数yearは 事前に宣言されていましたが、変数month とdayは宣言されていませんでした。そのため、コードの作者は 分割代入の前にletを書くことにしました。

しかし、これはエラーを引き起こします。なぜなら、 同じ変数をletで2回宣言することはできないからです (yearが2回宣言されたことになります)。