Rest-operatoren i JavaScript
Denne leksjonen starter vi med en forklaring.
I alle foregående leksjoner i denne seksjonen har jeg ikke
fortalt deg hele sannheten om operatoren ...
Faktisk kan denne operatoren avhengig av plassering i koden enten kalles spread-operatoren eller rest-operatoren.
Som du allerede vet, når spread-operatoren
står foran en array eller streng, deler den den
opp i enkelte verdier. Rest-operatoren,
selv om den har samme syntaks som ...,
er beregnet på noe annet.
Nå skal vi finne ut hva. La oss si at vi har en funksjon som tar imot to parametere:
function func(a, b) {
console.log(a);
console.log(b);
}
Du bør allerede vite at hvis funksjonen får for mange parametere, vil det ikke føre til feil:
func(1, 2, 3, 4, 5);
Operatoren rest lar deg få alle
ekstra parametere i form av en array. For å gjøre dette
legges det til en parameter til i funksjonen (obligatorisk
som den siste), foran hvilken det skrives 3 prikker:
function func(a, b, ...rest) {
}
Disse tre prikkene er rest-operatoren, og navnet
på variabelen kan ha hvilken som helst betegnelse, men
vanligvis kalles den også rest.
La oss kalle funksjonen vår med et overflødig
antall parametere og se hva som kommer inn
i parameterne a og b, og hva -
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]
}
Hvis det ikke er for mange parametere, vil variabelen
rest bli satt til 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 []
}
Funksjonen kan til og med ikke ha noen parametere i det hele tatt,
men likevel kan man legge til rest.
I dette tilfellet kan funksjonen kalles
med et hvilket som helst antall parametere, og alle vil
komme inn i arrayen rest:
function func(...rest) {
console.log(rest);
}