Destrutturazione dei parametri di funzione in JavaScript
La destrutturazione ha un'altra area di applicazione molto importante: il passaggio dei parametri alle funzioni. L'essenza è la seguente: se una funzione accetta un array come parametro, possiamo specificare direttamente nella dichiarazione della funzione come destrutturare questo array.
Vediamo un esempio. Supponiamo di avere una funzione che accetta come parametro un array con anno, mese e giorno:
func([2025, 12, 31]);
Specifichiamo direttamente nel parametro della funzione in quali variabili dovrebbe essere scomposto questo array:
function func([year, month, day]) {
console.log(year); // visualizzerà 2025
console.log(month); // visualizzerà 12
console.log(day); // visualizzerà 31
}
La costruzione sopra dovrebbe essere considerata come un singolo parametro della funzione. Se lo si desidera, si possono aggiungere altri parametri:
func('str1', [2025, 12, 31], 'str2');
function func(param1, [year, month, day], param2) {
console.log(param1); // visualizzerà 'str1'
console.log(year); // visualizzerà 2025
console.log(month); // visualizzerà 12
console.log(day); // visualizzerà 31
console.log(param2); // visualizzerà 'str2'
}
Nel prossimo esempio, il primo e il secondo parametro della funzione sono array e noi destrutturiamo entrambi:
func([2025, 12, 31], [2026, 11, 30]);
function func([year1, month1, day1], [year2, month2, day2]) {
console.log(year1); // visualizzerà 2025
console.log(month1); // visualizzerà 12
console.log(day1); // visualizzerà 31
console.log(year2); // visualizzerà 2026
console.log(month2); // visualizzerà 11
console.log(day2); // visualizzerà 30
}
Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let department = employee[2];
let position = employee[3];
let salary = employee[4];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let department = employee[2];
let position;
if (arr[3] !== undefined) {
position = arr[3];
} else {
position = 'junior';
}
}
func( ['John', 'Smit', 'development'] );
Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:
function func(department, employee, hired) {
let name = employee[0];
let surname = employee[1];
let year = hired[0];
let month = hired[1];
let day = hired[2];
}
func( 'development', ['John', 'Smit'], [2018, 12, 31] );