operátor spreadu
operátor spreadu „šíří“ hodnoty v iterabilním (pole, řetězce) přes nulu nebo více argumentů nebo prvků. Vysvětlím, co přesně to znamená později. Ale nejprve se podívejme na to, jak bychom mohli kombinovat dvě pole:
tato metoda funguje a dělá přesně to, co chceme: vezměte arr2 a přilepte ji na konec arr1. Ale to vyžaduje, abychom si pamatovali metodu concat. Bylo by hezčí být schopen udělat něco takového: . Tady je to, co se stane, když to zkusíme:
nyní jsme skončili s vnořeným polem. Mohli bychom použít smyčku for, ale to je hodně kódu pro splnění relativně jednoduchého úkolu. Díky ES6 máme nyní jednodušší způsob, jak kombinovat dvě pole: operátor šíření.
jak je uvedeno výše, operátor spreadu vezme pole (nebo jakýkoli iterable) a šíří hodnoty. Pojďme se podívat, jak to funguje:
to je mnohem jednodušší! Operátor šíření ( … ) bere hodnoty arr1 a šíří je přes arr2. Mohli bychom také napsat výše uvedený příklad takto:
operátor šíření lze také použít při volání funkce. Řekněme, že máme funkci, která má řadu parametrů a máme parametry, které chceme předat, uložené v poli. Jak můžeme volat funkci a předat pole parametrů? Zde je návod, jak bychom to udělali před ES6:
opět by bylo hezké být schopen udělat něco takového: mySum (params). Tady je to, co se stane, když to zkusíme:
pomocí operátora šíření můžeme výše uvedený příklad napsat následovně:
jak vidíte, operátor spread vezme řadu parametrů a rozloží je přes argumenty ve volání funkce. Ale co když potřebujeme naši funkci, abychom mohli pracovat s neznámým počtem parametrů? Tam přichází zbytek parametru.