⊗jsPmROInr 294 of 505 menu

Rest-operatören i JavaScript

Vi börjar denna lektion med en förklaring. I alla tidigare lektioner i detta avsnitt har jag inte berättat hela sanningen om operatören ...

Faktum är att denna operatör beroende på plats i koden kan antingen kallas spread-operatören eller rest-operatören.

Som du redan vet, när spread-operatören står framför en array eller sträng, delar den upp dem i separata värden. Rest-operatören, trots att den har samma syntax som ..., är avsedd för något annat.

Nu ska vi ta reda på vad. Låt oss anta att vi har en funktion som tar två parametrar:

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

Du borde redan veta att om funktionen får för många parametrar leder det inte till ett fel:

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

Operatören rest gör det möjligt att få alla överflödiga parametrar som en array. För att göra detta läggs ytterligare en parameter till i funktionen (nödvändigtvis sist), framför vilken man skriver 3 punkter:

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

Dessa tre punkter är rest-operatören, och namnet på variabeln kan vara vad som helst, men det är vanligt att också kalla den rest.

Låt oss anropa vår funktion med ett överflöd antal parametrar och se vad som hamnar i parametrarna a och b, och vad - i resten rest:

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

Om det inte finns några extra parametrar, kommer variabeln rest att fyllas med en tom array:

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

Funktionen kan helt sakna parametrar, men man kan fortfarande lägga till rest. I detta fall kan funktionen anropas med valfritt antal parametrar och alla kommer att hamna i arrayen rest:

function func(...rest) { console.log(rest); }
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa