⊗jsPmROInr 294 of 505 menu

Operátor rest v JavaScripte

Túto lekciu začneme určitým vysvetlením. Vo všetkých predchádzajúcich lekciách tejto časti som vám nepovedal celú pravdu o operátori ...

V skutočnosti sa tento operátor v závislosti od miesta v kóde môže nazývať buď operátor spread, alebo operátor rest.

Ako už viete, keď operátor spread stojí pred poľom alebo reťazcom, rozdeľuje ich na jednotlivé hodnoty. Operátor rest, hoci má rovnakú syntax vo forme ..., je určený pre niečo iné.

Teraz si rozoberieme, na čo. Nech máme funkciu, ktorá prijíma dva parametre:

function func(a, b) { console.log(a); console.log(b); }

Už by ste mali vedieť, že ak do funkcie prenesieme nadbytočné parametre, nepovedie to k chybe:

func(1, 2, 3, 4, 5);

Operátor rest umožňuje získať všetky nadbytočné parametre vo forme poľa. Na to sa do funkcie pridá ešte jeden parameter (povinne ako posledný), pred ktorý sa píšu 3 bodky:

function func(a, b, ...rest) { }

Tieto tri bodky sú operátor rest a názov premennej môže mať ľubovoľný názov, ale zvyčajne sa tiež nazýva rest.

Zavolajme našu funkciu s nadbytočným množstvom parametrov a pozrime sa, čo sa dostane do parametrov a a b, a čo - do zvyšku rest:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // vypíše 1 console.log(b); // vypíše 2 console.log(rest); // vypíše [3, 4, 5] }

Ak nebude žiadnych nadbytočných parametrov, tak do premennej rest sa zapíše prázdne pole:

func(1, 2); function func(a, b, ...rest) { console.log(a); // vypíše 1 console.log(b); // vypíše 2 console.log(rest); // vypíše [] }

Funkcia môže vôbec nemáť parametre, no pritom do nej môžeme pridať rest. V tomto prípade bude možné funkciu volať s ľubovoľným množstvom parametrov a všetky sa dostanú do poľa rest:

function func(...rest) { console.log(rest); }
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť