⊗jsPmROInr 294 of 505 menu

Rest-operatoren i JavaScript

Vi starter denne lektion med en vis afklaring. I alle de foregående lektioner i dette afsnit fortalte jeg dig ikke hele sandheden om operatoren ...

Faktisk kan denne operator, afhængigt af stedet i koden, enten kaldes spread-operatoren eller rest-operatoren.

Som du allerede ved, når spread-operatoren står foran et array eller en streng, opdeler den dem i separate værdier. Rest-operatoren, selvom den har den samme syntaks som ..., er beregnet til noget andet.

Lad os nu finde ud af, til hvad. Lad os sige vi har en funktion, der tager to parametre:

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

Du bør allerede vide, at hvis du sender ekstra parametre til funktionen, vil det ikke føre til en fejl:

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

Rest-operatoren rest giver dig mulighed for at få alle de ekstra parametre som et array. For at gøre dette tilføjes endnu en parameter til funktionen (obligatorisk sidst), foran hvilken der skrives 3 punktummer:

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

Disse tre punktummer er rest-operatoren, og navnet på variablen kan have ethvert navn, men normalt er det også kutyme at kalde den rest.

Lad os kalde vores funktion med et overflødigt antal parametre og se, hvad der kommer i parametrene a og b, og hvad - i resten rest:

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

Hvis der ikke er nogen ekstra parametre, vil variablen rest blive tildelt et tomt array:

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

Funktionen kan overhovedet ikke have parametre, men du kan stadig tilføje rest til den. I dette tilfælde kan funktionen kaldes med et hvilket som helst antal parametre, og alle vil komme ind i arrayet rest:

function func(...rest) { console.log(rest); }
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis