Destructurering van functieparameters in JavaScript
Destructurering heeft nog een zeer belangrijk toepassingsgebied - het doorgeven van parameters aan functies. De essentie is als volgt: als een functie een array als parameter accepteert, kunnen we rechtstreeks in de functiedeclaratie opgeven hoe die array gedestructureerd moet worden.
Laten we een voorbeeld bekijken. Stel we hebben een functie die als parameter een array met jaar, maand en dag accepteert:
func([2025, 12, 31]);
Laten we rechtstreeks in de parameter van de functie opgeven, in welke variabelen deze array moet worden opgesplitst:
function func([year, month, day]) {
console.log(year); // geeft 2025 weer
console.log(month); // geeft 12 weer
console.log(day); // geeft 31 weer
}
De bovenstaande constructie moet worden beschouwd als één functieparameter. Indien gewenst kunnen er nog parameters worden toegevoegd:
func('str1', [2025, 12, 31], 'str2');
function func(param1, [year, month, day], param2) {
console.log(param1); // geeft 'str1' weer
console.log(year); // geeft 2025 weer
console.log(month); // geeft 12 weer
console.log(day); // geeft 31 weer
console.log(param2); // geeft 'str2' weer
}
En in het volgende voorbeeld worden arrays als eerste en tweede parameter doorgegeven en we destructureer beide:
func([2025, 12, 31], [2026, 11, 30]);
function func([year1, month1, day1], [year2, month2, day2]) {
console.log(year1); // geeft 2025 weer
console.log(month1); // geeft 12 weer
console.log(day1); // geeft 31 weer
console.log(year2); // geeft 2026 weer
console.log(month2); // geeft 11 weer
console.log(day2); // geeft 30 weer
}
Pas de volgende code aan via destructurering volgens de bestudeerde theorie:
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] );
Pas de volgende code aan via destructurering volgens de bestudeerde theorie:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Pas de volgende code aan via destructurering volgens de bestudeerde theorie:
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'] );
Pas de volgende code aan via destructurering volgens de bestudeerde theorie:
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] );