Uvod
Pojam “destruktuiranje” podrazumeva “izvlačenje” podataka iz strukture podataka (objekat ili niz) i pravljenje novih manjih struktura kojima se dodeljuju vrednosti na osnovu “izvučenih” podataka.
Pre ES2015 je bilo neophodno da se napiše kod koji bi vršio destruktuiranje ali srećom sa novim JavaScript standardom je došla i sintaksa koja omogućava da JavaScript kompajler ovaj posao automatski izvršava umesto nas. Ova sintaksa se naziva “destructuring assignment”, i upravo predstavlja to što joj sam naziv govori, dodeljuje vrednosti iz neke strukture novim promenjivima.
Primer
“Manuelno” destruktuiranje
1 2 3 4 5 |
var velikaStruktura = [1, 2, 3]; // Manuelno destruktuiranje var a = velikaStruktura[0]; var b = velikaStruktura[1]; var c = velikaStruktura[2]; |
Nova ES6 sintaksa
1 2 3 4 5 6 7 8 |
var velikaStruktura = [1, 2, 3]; // Automatsko destruktuiranje var a, b, c; [a,b,c] = velikaStruktura; console.log(a); // Vraća 1 console.log(b); // Vraća 2 console.log(c); // Vraća 3 |
NAPOMENA: [a,b,c] iz prethodnog primera nove sintakse NIJE NIZ ! ! !
Kada se uglaste zagrade (ili vitičaste) nalaze sa leve strane znaka jednakosti, to ukazuje na patern (šablon) za dodeljivanje promenjivih. One nam omogućavaju da definišemo JavaScript kompajleru kako i pod kojim nazivom varijabli da sačuva destrukturisane vrednosti.