Spread operátor a Rest parametr
S příchodem ES6 máme k dispozici spread operátor a rest parametr. U obou těchto věcí používáme tři tečky.
Rest parametr
S pomocí rest parametru můžeme při destrukturování ze zbývajících hodnot v poli, které se již neaplikovali na proměnné, vytvořit pole. Jak rest parametr použít ukazuje následující ukázka:
let [promenna1, promenna2, ...zbytek] = [2, 3, 4, 7, 6];
// promenna1 obsahuje hodnotu 2
// promenna2 obsahuje hodnotu 3
// proměnná zbytek je toto pole: [4, 7, 6]
// promenna1 obsahuje hodnotu 2
// promenna2 obsahuje hodnotu 3
// proměnná zbytek je toto pole: [4, 7, 6]
Spread operátor
Spread operátor nám umožňuje rozbalit položky pole a použít je třeba jako argumenty při volání funkce. Také s jeho pomocí můžeme jednoduše vytvořit kopii pole.
Následující ukázka ukazuje vytvoření kopie pole s použítím spread operátoru.
const pole = [4, 6, 2];
// zkopírovaní pole
const zkopirovanePole = [...pole];
// pokud bychom napsali jen: const zkopirovanePole = pole;
// tak by obě proměnné odkazovali na stejné místo v paměti (na stejné pole)
// zkopírovaní pole
const zkopirovanePole = [...pole];
// pokud bychom napsali jen: const zkopirovanePole = pole;
// tak by obě proměnné odkazovali na stejné místo v paměti (na stejné pole)
Následující ukázka ukazuje použití spread operátoru při volání funkce.
const pole = [4, 6, 2, 1, 9];
let nejvetsiCisloVPoli = Math.max(...pole);
let nejvetsiCisloVPoli = Math.max(...pole);