JavaScript ES6: Spread operátor és Rest paraméterek

Spread operátor

a spread operátor “terjeszti” az értékeket egy iterálható (tömbök, karakterláncok) nulla vagy több argumentum vagy elem között. Később elmagyarázom, hogy ez pontosan mit jelent. De először nézzük meg, hogyan kombinálhatunk két tömböt:

ez a módszer pontosan azt teszi, amit szeretnénk: vegyük arr2-t és ragasszuk az arr1 végére. De ez megköveteli, hogy emlékezzünk a concat módszerre. Nem lenne szebb, hogy képes legyen valami ilyesmi: . Itt van, mi történik, ha megpróbáljuk:

most már végül egy beágyazott tömb. Használhatnánk egy for ciklust, de ez sok kód egy viszonylag egyszerű feladat elvégzéséhez. Az ES6-nak köszönhetően most könnyebb módja van két tömb kombinálásának: a spread operátor.

mint már említettük, a spread operátor vesz egy tömb (vagy bármely iterable), és terjed ez értékeket. Vessünk egy pillantást arra, hogyan működik:

ez sokkal egyszerűbb! A spread operátor ( … ) veszi az arr1 értékeit, és elosztja őket az arr2-n. A fenti példát így is írhatnánk:

a spread operátor funkcióhívásban is használható. Tegyük fel, hogy van egy függvényünk, amely számos paramétert vesz fel, és azokat a paramétereket, amelyeket át akarunk adni, egy tömbben tároljuk. Hogyan hívhatjuk meg a függvényt és adhatjuk át a paraméterek tömbjét? Itt van, hogyan tennénk ezt az ES6 előtt:

ismét jó lenne valami ilyesmit csinálni: mySum(params). Itt van, mi történik, ha megpróbáljuk:

a spread operátor segítségével a fenti példát a következőképpen írhatjuk:

mint látható, a spread operátor fogja a paraméterek tömbjét, és elosztja őket a függvényhívás argumentumai között. De mi van, ha szükségünk van a funkciónkra, hogy ismeretlen számú paraméterrel dolgozhassunk? Itt jön be a rest paraméter.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.