Spread Operator
spread operator “spreder” værdierne i en iterabel (arrays, strenge) på tværs af nul eller flere argumenter eller elementer. Jeg vil forklare præcis, hvad det betyder senere. Men først, lad os se på, hvordan vi kan kombinere to arrays:
denne metode fungerer og gør nøjagtigt, hvad vi vil have den til: tag arr2 og sæt den på enden af arr1. Men dette kræver, at vi husker concat-metoden. Det ville være pænere at kunne gøre noget som dette: . Her er hvad der sker, hvis vi prøver det:
nu er vi endt med et indlejret array. Vi kunne bruge en for loop, men det er en masse kode for at udføre en relativt enkel opgave. Takket være ES6 har vi nu en nemmere måde at kombinere to arrays: spread operator.
som nævnt ovenfor tager spredningsoperatøren et array (eller en hvilken som helst iterabel) og spreder det værdier. Lad os se på, hvordan det fungerer:
det er meget mere enklere! Spredningsoperatøren ( … ) tager værdierne af arr1 og spreder dem over arr2. Vi kunne også skrive ovenstående eksempel som dette:
spredningsoperatøren kan også bruges i et funktionsopkald. Lad os sige, at vi har en funktion, der tager et antal parametre, og vi har de parametre, vi ønsker at videregive den, gemt i et array. Hvordan kan vi kalde funktionen og passere en række parametre? Sådan gør vi det før ES6:
igen ville det være rart at kunne gøre noget som dette: mySum(params). Her er hvad der sker, hvis vi prøver det:
ved hjælp af spredningsoperatøren kan vi skrive ovenstående eksempel som følger:
som du kan se, tager spredningsoperatøren en række parametre og spreder dem på tværs af argumenterne i funktionsopkaldet. Men hvad nu hvis vi har brug for vores funktion for at kunne arbejde med et ukendt antal parametre? Det er her Resten parameter kommer ind.