⊗jsPmROInr 294 of 505 menu

Operatorul rest în JavaScript

Această lecție o vom începe cu o oarecare explicație. Toate lecțiile anterioare din această secțiune nu v-am spus adevărul întreg despre operatorul ...

De fapt, acest operator, în funcție de locul în cod, poate fi numit fie operator spread, fie operator rest.

După cum știți deja, când operatorul spread stă în fața unui array sau a unui șir de caractere, îi împarte în valori individuale. Operatorul rest, deși are aceeași sintaxă sub forma ..., este destinat altcuiva.

Acum să aflăm, pentru ce. Să presupunem că avem o funcție care acceptă doi parametri:

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

Ar trebui să știți deja că dacă funcției i se transmit parametri în exces, acest lucru nu va duce la o eroare:

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

Operatorul rest permite obținerea tuturor parametrilor în exces sub formă de array. Pentru aceasta în funcție se adaugă încă un parametru (obligatoriu pe ultimul loc), înaintea căruia se scriu 3 puncte:

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

Aceste trei puncte sunt operatorul rest, iar numele variabilei poate avea orice denumire, dar de obicei se acceptă să se numească rest.

Să apelăm funcția noastră cu un număr excesiv de parametri și să vedem ce ajunge în parametrii a și b, și ce - în restul rest:

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

Dacă nu vor fi parametri în exces, atunci în variabila rest se va scrie un array gol:

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

În funcție poate să nu existe deloc parametri, dar totuși i se poate adăuga rest. În acest caz, funcția poate fi apelată cu orice număr de parametri și toți aceștia vor intra în array-ul rest:

function func(...rest) { console.log(rest); }
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge