Ya hemos visto en un ejemplo cómo podíamos construir una función con parámetros variables en Javascript. Esto requiere que el objeto arguments
lo vayamos revisando para ver si contiene el argumento esperado.
Una de las formas de simplificarlo a partir de ES2015 es el utilizar valores por defecto en una función Javascript. En este caso los parámetros de la función se van a basar en el concepto de desestructuración de objetos de Javscript.
Lo primero será definir la función en Javascript mediante la siguiente estructura:
function nombre({param1=valordefecto1, param2=valordefecto2,... paramN=valordefectoN} = {}) {
...
}
Por ejemplo vamos a definir la siguiente función Javascript que permite que se la llame con parámetros de color y tamaño.
function mifuncion({tamanio = 'XL', color = 'rojo'} = {}) {
console.log(tamanio,color);
}
Vemos que los parámetros tienen sus valores por defecto. En el caso de tamanio
será ‘XL’ y en el caso de color
será ‘rojo’.
Ahora ya solo quedará que llamemos a la función con uno, los dos o ninguno de los parámetros. Ya que a la hora de obviarlos lo que sucederá es que la función tomará el valor por defecto.
mifuncion({color:'verde'});
mifuncion({tamanio:'L', color:'azul'});
mifuncion();
Como podemos comprobar, el uso de valores por defecto en una función Javascript nos simplifica enormemente la codificación de funciones que vayan a tener parámetros variables.