Desestructuración de parámetros de funciones en JavaScript
La desestructuración tiene otra área de aplicación muy importante: la transmisión de parámetros de funciones. La esencia es la siguiente: si una función acepta un array como parámetro, podemos especificar directamente en la declaración de la función cómo desestructurar este array.
Veamos un ejemplo. Supongamos que tenemos una función que acepta como parámetro un array con el año, mes y día:
func([2025, 12, 31]);
Especifiquemos directamente en el parámetro de la función en qué variables se debe descomponer este array:
function func([year, month, day]) {
console.log(year); // mostrará 2025
console.log(month); // mostrará 12
console.log(day); // mostrará 31
}
La construcción anterior debe considerarse como un parámetro de la función. Si se desea, se pueden agregar más parámetros:
func('str1', [2025, 12, 31], 'str2');
function func(param1, [year, month, day], param2) {
console.log(param1); // mostrará 'str1'
console.log(year); // mostrará 2025
console.log(month); // mostrará 12
console.log(day); // mostrará 31
console.log(param2); // mostrará 'str2'
}
Y en el siguiente ejemplo, los arrays se pasan como primer y segundo parámetro de la función y desestructuramos ambos:
func([2025, 12, 31], [2026, 11, 30]);
function func([year1, month1, day1], [year2, month2, day2]) {
console.log(year1); // mostrará 2025
console.log(month1); // mostrará 12
console.log(day1); // mostrará 31
console.log(year2); // mostrará 2026
console.log(month2); // mostrará 11
console.log(day2); // mostrará 30
}
Reescriba el siguiente código usando desestructuración de acuerdo con la teoría estudiada:
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] );
Reescriba el siguiente código usando desestructuración de acuerdo con la teoría estudiada:
function func(employee) {
let name = employee[0];
let surname = employee[1];
let info = employee[2];
}
func( ['John', 'Smit', 'development', 'programmer', 2000] );
Reescriba el siguiente código usando desestructuración de acuerdo con la teoría estudiada:
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'] );
Reescriba el siguiente código usando desestructuración de acuerdo con la teoría estudiada:
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] );