⊗jsPmROInr 294 of 505 menu

Rest operators JavaScript

Šo nodarbību sāksim ar nelielu paskaidrojumu. Visās iepriekšējās šīs sadaļas nodarbībās es jums neizteicu visu patiesību par operatoru ...

Patiesībā šis operators atkarībā no vietas kodā var tikt saukts vai nu par spread operatoru, vai nu par rest operatoru.

Kā jūs jau zināt, kad spread operators atrodas pirms masīva vai virknes, tas sadala tos atsevišķās vērtībās. Rest operators, lai arī tam ir tāda pati sintakse formā ..., ir paredzēts citam mērķim.

Tagad sapratīsim, kādam. Pieņemsim, ka mums ir funkcija, kas pieņem divus parametrus:

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

Jums jau vajadzētu zināt, ka, ja funkcijai nodod liekos parametrus, tas neizraisīs kļūdu:

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

Rest operators ļauj iegūt visus likos parametrus masīva veidā. Lai to izdarītu, funkcijai tiek pievienots vēl viens parametrs (obligāti pēdējais), pirms kura raksta 3 punkti:

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

Šie trīs punkti ir rest operators, un mainīgā nosaukums var būt jebkurš, bet parasti ir ierasts to nosaukt arī par rest.

Izsauksim mūsu funkciju ar lieko parametru skaitu un redzēsim, kas nonāk parametros a un b, un kas - atlikumā rest:

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

Ja lieku parametru nebūs, tad mainīgajā rest ierakstīsies tukšs masīvs:

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

Funkcijā vispār var nebūt parametru, bet tajā pašā laikā var pievienot rest. Šajā gadījumā funkciju varēs izsaukt ar jebkuru parametru skaitu, un tie visi nonāks masīvā rest:

function func(...rest) { console.log(rest); }
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt