Déstructuration des paramètres de fonctions en JavaScript

La déstructuration a un autre domaine d'application très important - la transmission des paramètres de fonctions. L'essentiel est le suivant : si une fonction accepte un tableau comme paramètre, nous pouvons spécifier directement dans la déclaration de la fonction comment déstructurer ce tableau.

Regardons un exemple. Supposons que nous ayons une fonction qui prend comme paramètre un tableau avec l'année, le mois et le jour :

javascriptfunc([2025, 12, 31]);

Spécifions directement dans le paramètre de la fonction quelles variables doivent être assignées à partir de ce tableau :

javascriptfunction func([year, month, day]) {
  console.log(year);  // affichera 2025
  console.log(month); // affichera 12
  console.log(day);   // affichera 31
}

La construction ci-dessus doit être considérée comme un seul paramètre de fonction. On peut si on le souhaite ajouter d'autres paramètres :

javascriptfunc('str1', [2025, 12, 31], 'str2');

function func(param1, [year, month, day], param2) {
  console.log(param1); // affichera 'str1'
  
  console.log(year);   // affichera 2025
  console.log(month);  // affichera 12
  console.log(day);    // affichera 31
  
  console.log(param2); // affichera 'str2'
}

Et dans l'exemple suivant, le premier et le deuxième paramètre de la fonction sont des tableaux et nous les déstructurons tous les deux :

javascriptfunc([2025, 12, 31], [2026, 11, 30]);

function func([year1, month1, day1], [year2, month2, day2]) {
  console.log(year1);  // affichera 2025
  console.log(month1); // affichera 12
  console.log(day1);   // affichera 31
  
  console.log(year2);  // affichera 2026
  console.log(month2); // affichera 11
  console.log(day2);   // affichera 30
}
Задание 1

Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :

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

Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :

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

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

Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :

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

Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :

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