Spread Operator
operatorul spread „răspândește” valorile într-un iterabil (matrice, șiruri) pe zero sau mai multe argumente sau elemente. Voi explica exact ce înseamnă asta mai târziu. Dar mai întâi, să ne uităm la modul în care am putea combina două matrice:
această metodă funcționează și face exact ceea ce vrem să: ia arr2 și stick-l la sfârșitul arr1. Dar acest lucru ne cere să ne amintim metoda concat. Ar fi mai frumos să poți face așa ceva: . Iată ce se întâmplă dacă încercăm asta:
acum am ajuns cu o matrice imbricate. Am putea folosi o buclă pentru, dar asta e o mulțime de cod pentru a realiza o sarcină relativ simplă. Datorită ES6 avem acum o modalitate mai ușoară de a combina două matrice: operatorul de răspândire.
după cum sa menționat mai sus, operatorul spread ia o matrice (sau orice iterabil) și se răspândește valori. Să aruncăm o privire la modul în care funcționează:
este mult mai simplu! Operatorul de răspândire ( … ) ia valorile arr1 și le răspândește pe arr2. De asemenea, am putea scrie exemplul de mai sus astfel:
operatorul de răspândire poate fi, de asemenea, utilizat într-un apel de funcții. Să presupunem că avem o funcție care ia un număr de parametri și avem parametrii pe care dorim să-i transmitem stocați într-o matrice. Cum putem apela funcția și trece gama de parametri? Iată cum am face asta înainte de ES6:
din nou, ar fi frumos să poți face așa ceva: mySum(params). Iată ce se întâmplă dacă încercăm asta:
folosind operatorul de răspândire putem scrie exemplul de mai sus după cum urmează:
după cum puteți vedea, operatorul spread ia gama de parametri și le răspândește peste argumentele din apelul de funcții. Dar dacă avem nevoie de funcția noastră pentru a putea lucra cu un număr necunoscut de parametri? Aici intervine parametrul rest.