Destrukturierung von Funktionsparametern in JavaScript

Destrukturierung hat einen weiteren sehr wichtigen Anwendungsbereich - die Übergabe von Funktionsparametern. Der Kernpunkt ist der Folgende: Wenn eine Funktion ein Array als Parameter akzeptiert, können wir direkt in der Funktionsdeklaration festlegen, wie dieses Array destrukturiert werden soll.

Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben eine Funktion, die ein Array mit Jahr, Monat und Tag als Parameter entgegennimmt:

javascriptfunc([2025, 12, 31]);

Lassen Sie uns direkt im Parameter der Funktion angeben, in welche Variablen dieses Array zerlegt werden soll:

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

Die obige Konstruktion sollte als ein Funktionsparameter betrachtet werden. Bei Bedarf können weitere Parameter hinzugefügt werden:

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

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

Im nächsten Beispiel werden der Funktion als erster und zweiter Parameter Arrays übergeben und wir destrukturieren beide:

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

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

Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:

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

Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:

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

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

Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:

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

Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:

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