Destruktureringsparameters van funksies in JavaScript
Destrukturering het nog 'n baie belangrike toepassingsgebied - die oordra van funksieparameters. Die kern is die volgende: as 'n funksie 'n array as parameter aanvaar, kan ons reguit in die funksie-deklarasie spesifiseer hoe om daardie array te destruktureer.
Kom ons kyk na 'n voorbeeld. Gestel ons het 'n funksie wat as parameter 'n array met die jaar, maand en dag aanvaar:
func([2025, 12, 31]);
Laat ons reguit in die funksieparameter aandui in watter veranderlikes hierdie array opgebreek moet word:
function func([year, month, day]) {
console.log(year); // sal 2025 uitvoer
console.log(month); // sal 12 uitvoer
console.log(day); // sal 31 uitvoer
}
Die bogenoemde konstruksie moet beskou word as een funksieparameter. Indien verlang, kan 'n mens nog parameters byvoeg:
func('str1', [2025, 12, 31], 'str2');
function func(param1, [year, month, day], param2) {
console.log(param1); // sal 'str1' uitvoer
console.log(year); // sal 2025 uitvoer
console.log(month); // sal 12 uitvoer
console.log(day); // sal 31 uitvoer
console.log(param2); // sal 'str2' uitvoer
}
En in die volgende voorbeeld word arrays as die eerste en tweede parameter oorgedra en ons destruktureer albei:
func([2025, 12, 31], [2026, 11, 30]);
function func([year1, month1, day1], [year2, month2, day2]) {
console.log(year1); // sal 2025 uitvoer
console.log(month1); // sal 12 uitvoer
console.log(day1); // sal 31 uitvoer
console.log(year2); // sal 2026 uitvoer
console.log(month2); // sal 11 uitvoer
console.log(day2); // sal 30 uitvoer
}
Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:
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] );
Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:
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'] );
Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:
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] );