Spread i rest
Spread syntax
Spread syntax, to nowy zapis, który umożliwia rozbijanie iterowanej wartości na składowe. Może nią być string (bo składa się z poszczególnych liter), może to być tablica (bo składa się z elementów), mogą to być kolekcje (po których bardzo często robiliśmy pętle for) czy nawet obiekty (po których robiliśmy pętle for in), a nawet pojedyncze obiekty.
Poniżej kilka przykładów użycia tego zapisu:
//rozbijanie tablicy na poszczególne liczby
const tab = [1, 2, 3, 4];
console.log(...tab); //1, 2, 3, 4
//kopiowanie tablicy
const tab2 = [...tab];
//łączenie tablic
const tabPart = [3, 4]
const tabFull = [1, 2, ...tabPart, 5, 6]; //[1, 2, 3, 4, 5, 6]//rozdzielanie tekstu na poszczególne litery
const str = "Ala ma kota";
const tab = [...str]; //["A", "l", "a", " ", "m", "a", " ", "k", "o", "t", "a"]//Math.max wymaga parametrów po przecinku (nie jako tablica), więc mogę tutaj zastosować spread:
const tab = [1, 2, 3, 5, 4];
Math.max(...tab); //5Spread mogę też wykorzystać do zamiany kolekcji elementów na tablicę, dzięki czemu mogę używać dla nich metod tablicowych:
W nowej wersji JavaScript spread możemy też zastosować dla obiektów:
Rest parameter
Identycznie jak spread syntax wygląda rest parameter, różnicą jest miejsce użycia - w tym przypadku jako parametr funkcji. Zapis ten umożliwia zbieranie w jedną zmienną (będącą tablicą) wielu parametrów przekazywanych do funkcji:
Rest operator możemy też wykorzystywać do pobierania w formie tablicy "pozostałych" wartości:
Pamiętaj, że rest musi występować jako ostatni w parametrach:
Last updated