⊗jsPmROInr 294 of 505 menu

Operator rest v JavaScript

To lekcijo začnimo z nekaj pojasnili. Vse prejšnje lekcije tega razdelka vam nismo povedal vse resnice o operatorju ...

Pravzaprav se lahko ta operator glede na mesto v kodu imenuje bodisi operator spread, bodisi operator rest.

Kot že veste, ko operator spread stoji pred matriko ali nizom, jih razdeli na posamezne vrednosti. Operator rest, čeprav ima enako sintakso v obliki ..., je namenjen nečemu drugemu.

Zdaj bomo ugotavljali, čemu. Naj imamo funkcijo, ki sprejme dva parametra:

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

Že morate vedeti, da če funkciji podamo odvečne parametre, to ne povzroči napake:

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

Operator rest omogoča, da dobimo vse odvečne parametre v obliki matrike. Za to se funkciji doda še en parameter (obvezno zadnji), pred katerim napišemo 3 pike:

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

Te tri pike so operator rest, ime spremenljivke je lahko poljubno, vendar ga običajno tudi imenujemo rest.

Pokličimo našo funkcijo s prekomernim številom parametrov in poglejmo, kaj pride v parametra a in b, in kaj - v ostanek rest:

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

Če odvečnih parametrov ne bo, se bo v spremenljivko rest zapisala prazna matrika:

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

Funkcija lahko sploh nima parametrov, vendar ji lahko dodamo rest. V tem primeru lahko funkcijo pokličemo s poljubnim številom parametrov in vsi bojo prišli v matriko 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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni