Deklarace proměnných při destrukturalizaci pole v JavaScriptu

Při destrukturalizaci není nutné deklarovat proměnné. Mohou být deklarovány předem a pak při přiřazování nebude třeba psát příkaz let:

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

[year, month, day] = arr;

Existují však nuance. Podívejte se na následující kód:

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

let [year, month, day] = arr;

Jak vidíte, proměnná year byla deklarována předem, ale proměnné month a day - ne. Proto autor kódu se rozhodl napsat let před destrukturalizačním přiřazením.

To však povede k chybě, protože nelze jednu a tutéž proměnnou deklarovat dvakrát pomocí let (vyjde to, že year je deklarována dvakrát).