Per evitare questo risultato indesiderabile, utilizziamo i parametri predefiniti. I parametri predefiniti sono i parametri che hanno definito i loro valori predefiniti nel caso in cui mancano dalla chiamata della funzione invocata.
Esamineremo un esempio in cui otteniamo un risultato non soddisfacente a causa di argomenti mancanti e quindi lo risolveremo usando parametri tradizionali e predefiniti. Ma prima, impariamo un po 'di più sui parametri predefiniti.
Quali sono i parametri predefiniti
Nella versione ES6, JavaScript ha introdotto una funzione di impostazione dei parametri predefiniti. Quando sviluppiamo un'applicazione a full-stack, di solito vogliamo coprire tutte le nostre estremità che possono restituirci qualsiasi errore. Il problema degli argomenti mancanti nella chiamata della funzione invocazione è uno di questi angoli e il parametro predefinito è la guardia che usiamo per salvarci da risultati indesiderati.
Dichiarare i parametri predefiniti è piuttosto semplice. Quando si definisce il parametro della funzione, inserisci semplicemente il valore predefinito dopo il "=" cartello. La sintassi è come:
funzione functionIdentifier (parameter = value)Per esempio:
functionprintName (FirstName, lastName = 'doe')L'output di entrambi i comandi è come:
Per la prima chiamata di funzione, ha utilizzato il valore predefinito "DOE" per il parametro "LastName" e per il secondo ha usato entrambi gli argomenti.
Come funzionano i parametri predefiniti
Utilizzando la stessa funzione che abbiamo creato nell'esempio sopra, per il primo caso in cui entrambi gli argomenti sono presenti, quindi i valori all'interno della chiamata di funzione sono usati in questo modo:
E per il secondo caso, in cui mancava uno degli argomenti, la funzione ha usato il valore che abbiamo definito il valore predefinito all'interno del parametro come:
Perché utilizzare i parametri predefiniti
In genere quando non viene superato alcun argomento, il parametro è considerato "indefinito" da JavaScript. L'approccio tradizionale o banale per evitare un output indesiderato è verificare il parametro per un valore indefinito. L'approccio banale può essere utilizzato con le seguenti righe di codice per una funzione per aggiungere 2 numeri:
functionddnumbers (num1, num2)Anche se non stiamo passando alcun argomento quando chiamiamo la funzione all'interno del console.tronco d'albero() funzione, non riceveremo alcun errore.
In effetti, l'output è come:
Come puoi vedere, possiamo gestire anche il problema di argomenti mancanti come questo. Tuttavia, essere un buon programmatore significa essere efficienti e questo approccio banale non è una soluzione efficiente.
Se dovessimo risolvere lo stesso problema utilizzando i parametri predefiniti, la soluzione sarebbe molto più concisa
funzione addNumbers (num1 = 1, num2 = 1)Come puoi vedere, invece di scrivere numerose righe, l'abbiamo fatto in una singola riga e l'output è esattamente lo stesso senza errori e no Nan.
Utilizzo del valore del parametro predefinito da un parametro precedente
In ES6, è possibile impostare un parametro predefinito utilizzando il parametro prima di esso. Questo perché i parametri sono inizializzati da sinistra a destra. Risultante nell'uso di parametri definiti precedenti nel valore predefinito dei parametri successivi.
Ad esempio, prendi il seguente frammento:
funzione getome (a, b = a * 2)La funzione getome () prenderà 2 parametri, se esiste un solo argomento, quindi assegnerà il secondo parametro due volte il valore del primo argomento.
L'output è come:
Poiché i parametri vengono inizializzati da sinistra a destra, se utilizziamo un parametro successivo come valore predefinito di un parametro precedente, si tradurrà in un errore.
Prendi il seguente codice come esempio:
funzione ErrorGen (a = b, b = 2)Quanto sopra riscontrerà un errore poiché sta cercando di accedere al parametro "B" anche prima che venga inizializzato.
L'output è come:
Utilizzo delle funzioni come valori nei parametri predefiniti
In ES6, puoi persino utilizzare le funzioni come valori dei parametri predefiniti. Prova le seguenti righe di codice:
funzione calc (a, b = getValue (a))Come puoi vedere, stiamo dando la funzione getValue (num) come parametro predefinito per B E stiamo passando il parametro UN dentro. IL getValue (num) multipli l'argomento passato ad esso per 2 e restituisce il valore. Ecco perché, quando passiamo 2 dentro Calc () Funzioniamo come un singolo parametro otteniamo quanto segue:
Questo è tutto per i parametri predefiniti in JavaScript.
Conclusione
In ES6, è stata introdotta una nuova funzionalità che erano i parametri predefiniti. Per evitare di incontrare un errore a causa degli argomenti mancanti, JavaScript ha aggiunto questa funzione. I parametri predefiniti vengono utilizzati per mettere un valore predefinito di un argomento al momento della stesura di quella funzione. Abbiamo appreso i parametri predefiniti, come possiamo usare i parametri predefiniti per evitare risultati sfavorevoli e perché dovremmo usare i parametri predefiniti in sostituzione dell'approccio tradizionale/banale insieme ai suoi esempi.