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:
func([2025, 12, 31]);
Lassen Sie uns direkt im Parameter der Funktion angeben, in welche Variablen dieses Array zerlegt werden soll:
function 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:
func('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:
func([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
}
Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:
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] );
Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:
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'] );
Ändern Sie den folgenden Code mithilfe von Destrukturierung gemäß der gelernten Theorie um:
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] );