#howtodev - JavaScript parte 8 - Parametri opzionali e di default

Scritto da il
Redatto da
javascript
nodejs

← Articolo precedente: Funzioni note
→ Articolo successivo: Classi

Molto odiato, almeno quanto è usato, JavaScript è alla base dello sviluppo web e di molte applicazioni lato desktop.

In questo articolo tratteremo l’argomento dei parametri opzionali e di default.

Obiettivi

A fine guida il lettore conseguirá la conoscenza sui seguenti argomenti :

  • Parametri opzionali.
  • Parametri di default.

Prerequisiti

Per la comprensione di questo articolo é consigliata una conoscenza sulle funzioni :

é sempre consigliato rileggere gli articoli precenti, di cui la prima parte.

Parametri opzionali

I parametri di una funzione in Javascript sono “opzionali” , non è necessaria la loro presenza, se non inseriti valgono undefined. Ovviamente i parametri sono considerati in “ordine”, ovvero non inserendo un parametro, sarà l’ultimo in ordine da sinistra a destra ad essere assegnato con il valore undefined.

Per testare questa proprietà basta adottare un metodo che preleva più parametri, ad esempio qualcosa che stampi a schermo delle informazioni su nome, cognome e soprannome:

function info(nome, cognome, soprannome) {
	console.log(`mi chiamo ${nome} ${cognome}${soprannome?" detto "+soprannome:""}`)
}

Ora lo possiamo richiamare ad esempio prima con nome e cognome, poi con tutti e tre i valori:

info ("Davide","Galati")
info ("Davide","Galati", "detto PsykeDady")

Il risultato sarà:

mi chiamo Davide Galati
mi chiamo Davide Galati detto PsykeDady

Parametri di default

I parametri di default servono a sostituire la mancanza di valori nel caso in cui non ne sia stato specificato qualcuno, l’assenza è sempre calcolata a partire dall’ultimo parametro.

Per specificare il valore di default di un parametro, basta assegnarlo nell’intestazione del metodo:

function funzione(parametro=valore){
	...
}

Si supponga ad esempio un sommatore che:

  • se nessun parametro è stato passato, restituisce 0
  • se è stato specificato un solo parametro, restituisce la somma da 0 al parametro indicato
  • se entrambi i parmaetri sono stati specificati, fa la somma dal secondo al primo.

Con i parametri di default il risultato sarebbe:

function sommatoria(fine=0, inizio=0 ) {
	let somma=0
	for(let i=inizio; i<=fine; i++){
		somma+=i;
	}
	return somma
}

Testandolo nei tre casi richisti:

console.log(sommatoria())
console.log(sommatoria(10))
console.log(sommatoria(10,5))

risultato:

0
55
45
history_edu Revisioni