In questo tutorial imparerai a conoscere i parametri predefiniti di JavaScript con l'aiuto di esempi.
Il concetto di parametri predefiniti è una nuova funzionalità introdotta nella versione ES6 di JavaScript. Questo ci permette di dare valori di default ai parametri della funzione. Facciamo un esempio,
function sum(x = 3, y = 5) ( // return sum return x + y; ) console.log(sum(5, 15)); // 20 console.log(sum(7)); // 12 console.log(sum()); // 8
Nell'esempio precedente, il valore predefinito di x
è 3 e il valore predefinito di y
è 5 .
sum(5, 15)
- Quando vengono passati entrambi gli argomenti,x
prende 5 e ney
prende 15 .sum(7)
- Quando 7 viene passato allasum()
funzione,x
prende 7 ey
assume il valore predefinito 5 .sum()
- Quando nessun argomento viene passato alla funzione sum () ,x
assume il valore predefinito 3 ey
il valore predefinito 5 .

Utilizzo di espressioni come valori predefiniti
È anche possibile fornire espressioni come valori predefiniti.
Esempio 1: passaggio di parametri come valori predefiniti
function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4
Nel programma sopra,
- Il valore predefinito di
x
è 1 - Il valore predefinito di
y
è impostato sux
parametro - Il valore predefinito di
z
è la somma dix
ey
Se fai riferimento al parametro che non è stato ancora inizializzato, otterrai un errore. Per esempio,
function sum( x = y, y = 1 ) ( console.log( x + y); ) sum();
Produzione
ReferenceError: impossibile accedere a "y" prima dell'inizializzazione
Esempio 2: passaggio del valore della funzione come valore predefinito
// using a function in default value expression const sum = () => 15; const calculate = function( x, y = x * sum() ) ( return x + y; ) const result = calculate(10); console.log(result); // 160
Nel programma sopra,
- 10 viene passato alla
calculate()
funzione. x
diventa10
, ey
diventa150
(restituisce la funzione somma15
).- Il risultato sarà
160
.
Passaggio di valore indefinito
In JavaScript, quando si passa undefined
a una funzione parametro predefinita, la funzione assume il valore predefinito. Per esempio,
function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1