Kintamųjų deklaravimas destruktyrizuojant masyvą JavaScript

Nebūtina deklaruoti kintamųjų destruktyrizacijos metu. Jie gali būti deklaruoti iš anksto, ir tada priskiriant nereikės rašyti komandos let:

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

[year, month, day] = arr;

Tačiau yra niuansų. Pažvelkite į šį kodą:

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

let [year, month, day] = arr;

Kaip matote, kintamasis year buvo deklaruotas iš anksto, bet kintamieji month ir day - ne. Todėl kodo autorius nusprendė parašyti let prieš destruktyrizuojantį priskyrimą.

Tačiau tai sukels klaidą, nes negalima vieną ir tą patį kintamąjį deklaruoti du kartus naudojant let (pasirodys, kad year deklaruota du kartus).