Javascript ES6 – #08. Parámetros REST

Recordamos en la lección anterior, que en el curso de Javascript I aprendimos la diferencia entre parámetros y argumentos,y que lo habitual es definir una función con tantos parámetros como vayamos a utilizar. Sin embargo, el uso de parámetros por defecto y el uso de parámetros REST son una excepción desde la versión ES6.

Los parámetros REST nos permiten representar un número indefinido de argumentos en forma de array, y para representar ese array debemos precederlo por tres puntos:

Así pues, la sintaxis de una función con parámetros REST quedaría de la siguiente manera:

function(a, b, ...arrayOtrosArgumentos) {
  // ...
}
Edu Consejo

¡Recuerda! ¡Cuando trabajamos con el operador REST solo el último parámetro de la función puede llevar los tres puntos!

¿No te aclaras? Verás qué rápido lo entiendes con este pequeño vídeo:

¡Consulta en la pestaña Materiales el código fuente trabajado en la lección!

¿No te ha quedado claro? ¿Quieres aportar tu punto de vista? ¡Deja tu comentario!

¡Ups! ¡Este contenido está restringido a codelovers! Inicia sesión o, si aún no eres miembro de Didacticode, regístrate!

6 comentarios
Contraer comentarios

excelentes lecciones. Muy bien explicados. Gracias!

didacticode (Administrador) 12/10/2020 a las 18:58

¡Muchísimas gracias, Romy! 🙂

Hola Ada,

Gracias por tu dedicación y por tu esfuerzo !!

Intento aplicar tus ejemplos en otros ejemplos personalizados para entenderlos mejor

Lo que no entiendo muy bien, porqué tenemos que utilizar los parámetros (… REST) cuando podemos pasar varios parámetros a la hora de declarar una función ?y en caso podríamos utilizar un … rest a parte de una lista de compras 😀

didacticode (Administrador) 30/03/2022 a las 07:47

¡Hola, Rabfit! ¡Buena pregunta!
Utilizaríamos este tipo de estructura cuando no sabemos exactamente cuántos parámetros vamos a necesitar pasar a la función. Si lo supiéramos, no necesitaríamos utilizarla y podríamos hacerlo tal y como tú dices: con una función con un número de parámetros fijo.
Por ejemplo, se suele utilizar mucho para calcular el máximo de un número indeterminado de valores: function max(…numeros). No sabemos cuántos van a ser, pero devolvemos el mayor de todos, ¿te he aclarado? ¡Cualquier cosa me dices!

Otra sorpresa para mí, yo hubiera considerado que si declaro una función con dos parámetros, y en otro lugar del código la invoco con tres o mas argumentos entonces al momento de ejecutar el código en interpretador debería notificar un error.

didacticode (Administrador) 07/04/2022 a las 07:11

La verdad es que para este tipo de cosas, Javascript es muy permisivo. Hay frameworks y librerías que limitan este tipo de detalles, pero en principio con Javascript puedes hacer casi “cualquier cosa”, aunque claro, corres el riesgo de no estar programando como deberías…

Deja un comentario