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 :
func([2025, 12, 31]);
Spécifions directement dans le paramètre de la fonction quelles variables doivent être assignées à partir de ce tableau :
function 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 :
func('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 :
func([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
}
Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :
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] );
Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :
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'] );
Refaites le code suivant en utilisant la déstructuration selon la théorie étudiée :
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] );