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:

javascriptfunc([2025, 12, 31]);

Laat ons reguit in die funksieparameter aandui in watter veranderlikes hierdie array opgebreek moet word:

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

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

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

Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:

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

Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:

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

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

Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:

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

Herskep die volgende kode deur destrukturering volgens die bestudeerde teorie:

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