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:

javascriptfunc([2025, 12, 31]);

Specifichiamo direttamente nel parametro della funzione in quali variabili dovrebbe essere scomposto questo array:

javascriptfunction 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:

javascriptfunc('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:

javascriptfunc([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
}
Задание 1

Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:

javascriptfunction 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] );
Задание 2

Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:

javascriptfunction func(employee) {
  let name     = employee[0];
  let surname  = employee[1];
  let info     = employee[2];
}

func( ['John', 'Smit', 'development', 'programmer', 2000] );
Задание 3

Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:

javascriptfunction 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'] );
Задание 4

Rielabora il seguente codice utilizzando la destrutturazione secondo la teoria studiata:

javascriptfunction 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] );