Operator Spread
Operator spread „rozkłada” wartości w iterowalnych (tablicach, łańcuchach) na zero lub więcej argumentów lub elementów. Wyjaśnię to później. Ale najpierw spójrzmy, jak możemy połączyć dwie tablice:
ta metoda działa i robi dokładnie to, co chcemy: weź arr2 i przyklej go na końcu arr1. Ale to wymaga, abyśmy pamiętali o metodzie concat. Byłoby przyjemniej móc zrobić coś takiego: . Oto, co się stanie, jeśli spróbujemy tego:
teraz mamy zagnieżdżoną tablicę. Moglibyśmy użyć pętli for, ale to dużo kodu do wykonania stosunkowo prostego zadania. Dzięki ES6 mamy teraz łatwiejszy sposób łączenia dwóch tablic: Operator spread.
jak wspomniano powyżej, Operator spread pobiera tablicę (lub dowolne iteracyjne) i rozprzestrzenia jej wartości. Przyjrzyjmy się, jak to działa:
to jest o wiele prostsze! Operator spread (…) przyjmuje wartości arr1 i rozprzestrzenia je na arr2. Możemy również napisać powyższy przykład w następujący sposób:
Operator spread może być również użyty w wywołaniu funkcji. Powiedzmy, że mamy funkcję, która pobiera kilka parametrów i mamy parametry, które chcemy przekazać, zapisane w tablicy. Jak możemy wywołać funkcję i przekazać tablicę parametrów? Oto jak to zrobimy przed ES6:
ponownie, byłoby miło móc zrobić coś takiego: mySum (params). Oto, co się stanie, jeśli spróbujemy tego:
używając operatora spread możemy zapisać powyższy przykład w następujący sposób:
jak widać, Operator spread pobiera tablicę parametrów i rozprzestrzenia je pomiędzy argumentami w wywołaniu funkcji. Ale co, jeśli potrzebujemy naszej funkcji, aby móc pracować z nieznaną liczbą parametrów? Tutaj pojawia się parametr rest.