Spread Operator
spread operator ”sprider” värdena i en iterabel (matriser, strängar) över noll eller flera argument eller element. Jag ska förklara exakt vad det betyder senare. Men först, låt oss titta på hur vi kan kombinera två matriser:
denna metod fungerar och gör exakt vad vi vill att det ska: ta arr2 och hålla den på slutet av arr1. Men detta kräver att vi kommer ihåg concat-metoden. Det skulle vara trevligare att kunna göra något så här: . Här är vad som händer om vi försöker det:
nu har vi slutat med en kapslad array. Vi kan använda en for loop, men det är mycket kod för att utföra en relativt enkel uppgift. Tack vare ES6 har vi nu ett enklare sätt att kombinera två matriser: spridningsoperatören.
som nämnts ovan tar spridningsoperatören en array (eller någon iterabel) och sprider den värden. Låt oss ta en titt på hur det fungerar:
det är mycket enklare! Spridningsoperatören ( … ) tar värdena på arr1 och sprider dem över arr2. Vi kan också skriva ovanstående exempel så här:
spridningsoperatören kan också användas i ett funktionsanrop. Låt oss säga att vi har en funktion som tar ett antal parametrar och vi har de parametrar vi vill skicka den lagrade i en array. Hur kan vi ringa funktionen och skicka matrisen med parametrar? Så här skulle vi göra det innan ES6:
återigen skulle det vara trevligt att kunna göra något så här: mySum(params). Här är vad som händer om vi försöker det:
med hjälp av spridningsoperatören kan vi skriva ovanstående exempel enligt följande:
som du kan se tar spridningsoperatören matrisen med parametrar och sprider dem över argumenten i funktionssamtalet. Men vad händer om vi behöver vår funktion för att kunna arbeta med ett okänt antal parametrar? Det är där rest-parametern kommer in.