⊗jsPmROInr 294 of 505 menu

Rest operatorius JavaScript'e

Šią pamoką pradėsime nuo šiek tiek paaiškinimo. Visose ankstesnėse šio skyriaus pamokose aš neatskleidžiau jums visos tiesos apie operatorių ...

Tiesą sakant, šis operatorius, priklausomai nuo vieta kode, gali būti vadinamas arba spread operatoriumi, arba rest operatoriumi.

Kaip jau žinote, kai spread operatorius yra prieš masyvą arba eilutę, jis išskiria juos į atskiras reikšmes. Rest operatorius, nors ir turi tą patį sintaksę ..., yra skirtas kitam tikslui.

Dabar išsiaiškinsime, kam. Tarkime, kad turime funkciją, kuri priima du parametrus:

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

Jūs jau turėtumėte žinoti, kad jei funkcijai perduosite pernelyg daug parametrų, tai nesukels klaidos:

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

Rest operatorius leidžia gauti visus perteklinius parametrus masyvo pavidalu. Tam į funkciją pridedamas dar vienas parametras (būtinai paskutinis), prieš kurį rašomi 3 taškai:

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

Šie trys taškai ir yra rest operatorius, o kintamojo pavadinimas gali būti bet koks, bet dažniausiai priimta jį taip pat vadinti rest.

Iškvieskime mūsų funkciją su pertekline parametrų skaičiumi ir pažiūrėkime, kas pateka į parametrus a ir b, o kas - į likutį rest:

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

Jei perteklių parametrų nebus, tai į kintamąjį rest įrašys tuščias masyvas:

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

Funkcijoje apskritai gali nebūti parametrų, bet tuo pat metu į ją galima pridėti rest. Tokiu atveju funkciją galima bus iškviesti su bet kokiu parametrų skaičiumi ir visi jie pateks į masyvą rest:

function func(...rest) { console.log(rest); }
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti