REST -parametersyntaks i JavaScript | Forklart med eksempler

REST -parametersyntaks i JavaScript | Forklart med eksempler
Restparametere blir nå en integrert del av JavaScript -utvikling. I motsetning til andre språk, lar JavaScript - med bruk av hvileparametere brukeren å skrive slike funksjoner som kan godta et antall argumenter og gir anlegget til å utføre handlinger på disse argumentene.

Med ankomsten av ES6, en bølge av nye funksjoner traff JavaScript -språket, var de fleste av disse funksjonene helt nye, og de andre var et effektivt alternativ til allerede eksisterende løsninger. REST -parameter var en av de nye funksjonene som ble introdusert i ES6 -versjonen av JavaScript. Når du kommer til bunnen av denne siden, ville du ha lært hva resten av parametrene er, hvordan de er forskjellige fra normale argumenter, og hvordan du bruker dem sammen med eksemplene deres.

REST -parametere

Vi har allerede nevnt hva Hvile Parametere er, men hvis vi snakker om å forstå denne nye funksjonen, må vi gå inn på en liten detalj. REST -parametere er definert når vi skriver en funksjon akkurat som de normale parametrene. Men i motsetning til de normale parametrene, for å definere en hvileparameter i JavaScript, må du bruke et spesielt prefiks før identifikatoren som er en Triple Dot (…). Argumentene som er ført i parametrene er alle plassert sammen i en Array.

Syntaksen for å definere hvileparameter er:

funksjonsfunksjonidentifikator (... argsidentifier) ​​
// Body of the Function

Merk: Hvileparametere lagrer argumentene som er ført inni den i en Forekomst av en matrise Under samme identifikator.

Regler for å definere hvileparametere

Det er visse regler som skal følges når du definerer hvileparameteren til en funksjon. Disse reglene er veldig enkle, og hvis disse ikke følges, resulterer programmet i en feil:

  • Det skal bare være en hvileparameter i funksjonen
  • Restparameteren skal bare være den siste parameteren for funksjonen

La oss diskutere dem begge:

Det skal bare være en hvileparameter i funksjonen

En funksjon kan ikke ha flere hvileparametere, fordi hvileparametere brukes når du har et uspesifisert antall argumenter. Programmet kan ikke skille hvilke argumenter som skal sette i første hvileparameter og hvilke argumenter som skal sette inn den andre hvileparameteren.

Ta for eksempel følgende kodelinjer og prøv å kjøre programmet.

Funksjon Linuxhint (... args, ... args2)
konsoll.Logg ("Linux Hint Tutorial")

Når du prøver å utføre koden, får du følgende utdata.

Programmet krasjer på funksjonsdefinisjon og avslutter utførelsen med feil Kode 1(uventet krasj)

Restparameteren skal bare være den siste parameteren for funksjonen

I likhet med resonnementet til den siste regel, kan en hvileparameter bare være den siste parameteren i listen over parametere for funksjonen fordi programmet ikke vil vite når du skal slutte å sette argumenter i resten parameter og gå videre til neste parameter. Dette er fordi resten parameter kan ta en uendelig mengde argumenter.

Ta for eksempel følgende kodelinjer:

funksjon linuxhint (... args, var1)
konsoll.Logg ("Linux Hint Tutorial")
konsoll.Logg (args)
konsoll.Logg (var1)

Linuxhint (1,2,2,3,3);

Når vi kaller funksjonen, har programmet ingen anelse om hva intensjonene våre er. Kanskje vi vil plassere de første 4 argumentene i Args og den siste i var1; Siden det ikke er en syntaksfeil, blir den ikke fremhevet av en kodeditor (i de fleste tilfeller), men når du prøver å sammenstille programmet krasjer det på funksjonsdefinisjon som:

Programmet krasjer på funksjonsdefinisjon og avslutter utførelsen med feil Kode 1.

Hente data fra hvileparametere

Som vi allerede har nevnt ovenfor, lagres argumentene som blir ført i resten parametere i en matrise. Så når du vil bruke dataene som er passert i resten parameter, kan du gjøre det ved å bruke måten vi bruker for å få tilgang til array -data. La oss først lage en funksjon som godtar hvileparametere med følgende kodelinjer:

funksjon linuxhint (... args)
konsoll.logg (args);

Vi har en funksjon som tar en uspesifisert mengde argumenter og deretter skriver ut matrisen som lagrer disse argumentene. For å utføre denne funksjonen, må vi kalle denne funksjonen med følgende linje:

Linuxhint (1, 32, 3, 4, 3, 3, 123, 123, 123, 123);

Vi passerer ganske mange argumenter under funksjonssamtalen. Når du utfører programmet får du følgende utdata:

Fra utgangen kan vi tydelig konkludere med at argumentene blir lagret i en matriseforekomst.

Hvordan bruke hvileparametere ved siden av normale argumenter?

Vi kan bruke hvile Parametere ved siden av de normale argumentene også og forklarer dette vil vi forestille oss et scenario.

En overraskelsesprøve ble utført i en klasse, og et ukjent antall studenter tok den testen. De totale merkene av testen var 50 og enhver student mindre enn 15 har mislyktes i den testen.

Nå skal vi skrive et kodesnit den testen) vil også være et innspill som i dette tilfellet vil være 15.

Så først, la oss lage en funksjon som tar to innganger, den ene er den nedre merkegrensen og den andre ville være en hvileparameter for å få merker:

funksjon failCounter (PassingLimit, ... studentmerker)
// senere kommandoer her inne

Som du ser har vi to argumenter: PassingLimit og Studentersmerker (REST PARAM).

Det neste vi trenger er en motvariabel som vil telle antall studenter som mislyktes i testen, og vi kan opprette det ved å bruke linjen:

mislykkede studenter = 0;

Neste opp er å gå gjennom matrisen som er opprettet av REST -parameteren og sammenligne hver elevs merker med den forbipasserende grensen. Hvis de oppnådde merkene er lavere enn passeringsgrensen, øker vi motvariabelen med 1. Bruk følgende kodelinjer.

for (la i = 0; i if (studentmerker [i] mislykkede studenter ++;

Det siste trinnet ville være å vise utdataene med følgende kodelinjer:

konsoll.Logg ("Antall studenter som tok testen:" + Studentmerker.lengde);
konsoll.Logg ("antall studenter som mislyktes i testen:" + mislykkede studenter);

Nå som vår funksjon er klar til å brukes, må vi kalle den og passere i forskjellige argumenter med den første som er den forbipasserende grensen og de gjenværende er merkene til studentene som bruker linjen:

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45,, 47,23,19,9);

Igjen, det første argumentet er den forbipasserende grensen som vi har satt til 15.

Det komplette kodebiten ser ut som:

funksjon failCounter (PassingLimit, ... studentmerker)
mislykkede studenter = 0;
for (la i = 0; i if (studentmerker [i] mislykkede studenter ++;


konsoll.Logg ("Antall studenter som tok testen:"+ Studentmerker.lengde);
konsoll.Logg ("antall studenter som mislyktes i testen:"+mislykkede studenter);

FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,11,33,17,19,15,15,23,34,45,45,, 47,23,19,9);

Når du kjører koden, får du følgende utdata:

Programmet vårt kjører jevnt og uten feil, kan du prøve forskjellige varianter, så argumenter inni det også. Det er det for REST -parametere.

Konklusjon

Restparametere brukes til å akseptere et uspesifisert antall argumenter i en funksjon og deretter kunne utføre forskjellige operasjoner på disse argumentene. Andre språk har vanligvis ikke denne funksjonen, det er grunnen til at JavaScript tar overtaket. Vi tok en titt på hvilke hvileparametere som er i detalj, hvordan de fungerer, og reglene for å definere disse hvileparametrene sammen med mulige feil som kan oppstå hvis disse reglene ikke følges. Til slutt lærte vi å bruke Hvile parameter med et eksempel.