Con l'arrivo di ES6, un'ondata di nuove funzionalità ha colpito il linguaggio JavaScript, la maggior parte di queste caratteristiche erano completamente nuove e le altre erano un'alternativa efficiente alle soluzioni già esistenti. Il parametro di riposo è stata una delle nuove funzionalità che sono state introdotte nella versione ES6 di JavaScript. Quando raggiungi la parte inferiore di questa pagina, avresti imparato quali sono il resto dei parametri, come sono diversi dagli argomenti normali e come usarli insieme ai loro esempi.
Parametri di riposo
Abbiamo già menzionato cosa Riposo I parametri sono, ma se stiamo parlando di capire questa nuova funzionalità, dovremo approfondire. I parametri di riposo sono definiti quando stiamo scrivendo una funzione proprio come i parametri normali. Ma, a differenza dei parametri normali, per definire un parametro di riposo in JavaScript è necessario utilizzare un prefisso speciale prima dell'identificatore che è un triple dot (…). Gli argomenti che vengono passati nei parametri sono tutti messi insieme in un Vettore.
La sintassi per la definizione del parametro di riposo è:
funzione functionIdentifier (... argsIdentifier) Nota: Parametri di riposo archivia gli argomenti passati al suo interno in un Istanza di un array Sotto lo stesso identificatore.
Regole per definire i parametri di riposo
Ci sono alcune regole che devono essere seguite quando si definiscono il parametro di resto di una funzione. Queste regole sono davvero semplici e se non sono seguite, il programma si traduce in un errore:
Discutiamo entrambi:
Dovrebbe esserci un solo parametro di riposo nella funzione
Una funzione non può avere più parametri di riposo, poiché i parametri di riposo vengono utilizzati quando si dispone di un numero non specificato di argomenti. Il programma non può differenziare quali argomenti inserire nel primo parametro di riposo e quali argomenti inserire nel secondo parametro di riposo.
Ad esempio, prendi le seguenti righe di codice e prova a eseguire il programma.
funzione linuxhint (... args, ... args2)Quando si prova a eseguire il codice, ottieni il seguente output.
Il programma si blocca sulla definizione della funzione ed esce dall'esecuzione con errore Codice 1(Crash inaspettato)
Il parametro di resto dovrebbe essere solo l'ultimo parametro della funzione
Simile al ragionamento dell'ultima regola, un parametro di riposo può essere solo l'ultimo parametro nell'elenco dei parametri della funzione perché il programma non saprà quando smettere di mettere gli argomenti all'interno del parametro di resto e passare al parametro successivo. Questo perché per definizione il parametro di resto può assumere una quantità infinita di argomenti.
Ad esempio, prendi le seguenti righe di codice:
funzione linuxhint (... args, var1)Quando chiamiamo la funzione, il programma non ha idea di quali siano le nostre intenzioni. Forse vogliamo posizionare i primi 4 argomenti in args e l'ultimo nel var1; Dal momento che non è un errore di sintassi, non è evidenziato da un editor di codice (nella maggior parte dei casi) ma quando si prova a compilare il programma si blocca sulla definizione della funzione come:
Il programma si blocca sulla definizione della funzione ed esce dall'esecuzione con errore Codice 1.
Fetching Data dai parametri di riposo
Come abbiamo già menzionato sopra, gli argomenti che vengono passati all'interno dei parametri di resto sono archiviati in un array. Quindi, quando si desidera utilizzare i dati che sono stati passati all'interno del parametro REST, puoi farlo utilizzando il modo in cui utilizziamo per accedere ai dati dell'array. Creiamo innanzitutto una funzione che accetta i parametri di riposo con le seguenti righe di codice:
funzione linuxhint (... args)Abbiamo una funzione che prende una quantità non specificata di argomenti e quindi stampa l'array che sta archiviando tali argomenti. Per eseguire questa funzione, dobbiamo chiamare questa funzione con la riga seguente:
Linuxhint (1, 32, 3, 4, 3, 3, 123, 123, 123, 123);Stiamo passando alcuni argomenti durante la chiamata di funzione. Quando esegui il programma otterrai il seguente output:
Dall'output, possiamo chiaramente concludere che gli argomenti vengono archiviati all'interno di un'istanza di array.
Come utilizzare i parametri di riposo insieme ai normali argomenti?
Possiamo usare riposo Parametri accanto ai normali argomenti e per spiegare questo immagineremo uno scenario.
Un test a sorpresa è stato condotto in una classe e un numero sconosciuto di studenti ha fatto quel test. I segni totali del test erano 50 e qualsiasi studente inferiore a 15 ha fallito quel test.
Ora, scriveremo uno snippet di codice che prenderà i voti ottenuti da un numero indefinito di studenti e ci dico quanti studenti hanno fallito quel test, ma il limite inferiore dei marchi (al di sotto del quale gli studenti saranno considerati falliti quel test) sarà anche un input che in questo caso sarebbe 15.
Quindi, in primo luogo, creiamo una funzione che richieda due input, uno è il limite dei segni inferiori e l'altro sarebbe un parametro di riposo per i marchi ottenuti:
funzione failCounter (Passinglimit, ... Studentsmarks)Come puoi vedere, abbiamo due argomenti: il Passinglimit e il segna gli studenti (Parame di riposo).
La prossima cosa di cui abbiamo bisogno è una variabile di contatore che conterà il numero di studenti che hanno fallito il test e possiamo crearlo usando la linea:
non riusciti = 0;Il prossimo è passare attraverso l'array creato dal parametro di resto e confrontare i segni di ogni studente con il limite di passaggio. Se i segni ottenuti sono inferiori al limite di passaggio, aumentiamo il contatore variabile di 1. Usa le seguenti righe di codice.
per (let i = 0; iL'ultimo passo sarebbe quello di visualizzare l'output con le seguenti righe di codice:
console.Log ("Numero di studenti che hanno fatto il test:" + Studentsmarks.lunghezza);Ora che la nostra funzione è pronta per essere utilizzata, dobbiamo chiamarla e passare in vari argomenti con il primo è il limite di passaggio e il restante è il segno degli studenti che usano la linea:
FailCounter (15,33,23,12,3,5,33,34,23,27,12,3,3,3,1,33,17,19,15,15,23,34,45,45, 47,23,19,9);Ancora una volta, il primo argomento è il limite di passaggio che abbiamo impostato 15.
Lo snippet completo del codice sembra:
funzione failCounter (Passinglimit, ... Studentsmarks)Quando si esegue il codice si ottiene il seguente output:
Il nostro programma funziona senza intoppi e senza alcun errore, puoi provare diverse variazioni, quindi anche argomenti al suo interno. Questo è tutto per il Parametri di riposo.
Conclusione
I parametri di riposo vengono utilizzati per accettare un numero non specificato di argomenti all'interno di una funzione e quindi in grado di eseguire varie operazioni su tali argomenti. Altre lingue di solito non hanno questa funzione, ecco perché JavaScript prende il sopravvento. Abbiamo dato un'occhiata a quali parametri di riposo sono in dettaglio, come funzionano e le regole per definire questi parametri di riposo insieme a possibili errori che possono verificarsi se queste regole non sono seguite. Infine, abbiamo imparato a usare il Riposo parametro con un esempio.