⊗jsPmROInr 294 of 505 menu

Rest operator u JavaScript-u

Ovaj čas ćemo započeti sa određenim objašnjenjem. Sve prethodne lekcije u ovoj sekciji vam nisam rekao celu istinu o operatoru ...

U stvari, ovaj operator, u zavisnosti od mesta u kodu, može se zvati ili spread operator, ili rest operator.

Kao što već znate, kada spread operator stoji ispred niza ili stringa, on ih deli na pojedinačne vrednosti. Rest operator, iako ima istu sintaksu u obliku ..., je namenjen za nešto drugo.

Sada ćemo da vidimo za šta. Neka postoji funkcija koja prima dva parametra:

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

Trebalo bi da već znate da ako funkciji prosledite više parametara, to neće izazvati grešku:

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

Operator rest omogućava da dobijete sve višak parametara u obliku niza. Za to u funkciju se dodaje još jedan parametar (obavezno poslednji), ispred kojeg se pišu 3 tačke:

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

Ove tri tačke su rest operator, a ime promenljive može biti bilo koje, ali obično se takođe prihvaćeno da se nazove rest.

Hajde da pozovemo našu funkciju sa viškom parametara i da vidimo šta ide u parametre a i b, a šta - u ostatak rest:

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

Ako nema viška parametara, onda će u promenljivu rest biti upisan prazan niz:

func(1, 2); function func(a, b, ...rest) { console.log(a); // ispisuje 1 console.log(b); // ispisuje 2 console.log(rest); // ispisuje [] }

Funkcija uopšte može da nema parametara, ali se u nju može dodati rest. U tom slučaju funkcija se može pozvati sa bilo kojim brojem parametara i svi oni će upasti u niz rest:

function func(...rest) { console.log(rest); }
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij