Javascript – #1.17. Funciones. Parámetros y argumentos

En muchas ocasiones hablamos indistintamente de parámetros y argumentos para referirnos a los valores que “pasamos” entre paréntesis en una función.

¿Sabes la diferencia entre un parámetro y un argumento? ¡Te lo explico! Como ya sabes, porque lo trabajamos en la lección Javascript – #1.15. Funciones. Introducción, una función puede tener cero o más parámetros. Así, los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función.

Como ya vimos en la lección Javascript – #0. Introducción, Javascript es un lenguaje muy permisivo en cuanto los tipos de datos (tiene lo que se llama tipificación débil y dinámica). Eso quiere decir que no tenemos que indicar de qué tipo van a ser las variables que declaramos. En el caso de los parámetros y argumentos ocurre exactamente lo mismo: no indicamos ni tipo ni número de parámetros y tampoco comprobamos que se correspondan… ¡eso puede ser un caos!

Edu curiosidad

¿Sabes? Aunque parezca increíble, Javascript permite que el número de parámetros de una función sea diferente del número de argumentos que se le pasan. En la mayoría de lenguajes de programación esto sería un problema. Pero en Javascript tenemos maneras de gestionar parámetros por exceso y por defecto.

En este vídeo conocerás aprenderás la diferencia entre un parámetro y un argumento, las reglas para definir parámetros y cómo gestionar argumentos por exceso y argumentos por defecto en Javascript.

¡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
vicente miranda 17/11/2020 a las 00:38

Saludos..en la parte de los PARÁMETROS POR EXCESO no lo entendí muy bien , pero espero que mas adelante se pueda ver con mas detalles…gracias…

didacticode (Administrador) 22/11/2020 a las 12:12

¡Hola, Vicente! ¿Qué es lo que no entendiste exáctamente? Quizá pueda rehacer el vídeo o completar la lección si hay algo que no está claro del todo…

Introducir los bucles ha estado bien para el ejercicio.
Quizás explicar cómo se escriben estaría mejor.

didacticode (Administrador) 15/01/2021 a las 10:54

¡Hola, Merche! ¡Mil gracias por tu comentario! ¿Podrías explicarte un poco mejor sobre lo de “cómo se escriben”? ¡Cualquier propuesta es bienvenida!

Hola, muy bueno el video, lo único que no entendí fue la parte de los parámetros por exceso.

for (var i=0; i < arguments.length; i++){
alert ("argumento "+i+"="+arguments[i]);

Esto, sobretodo.

didacticode (Administrador) 23/04/2021 a las 23:04

¡Claro, amado! A ver si lo entiendes:
Imagina que tenemos una función cuya definición no tiene argumentos; por ejemplo:
amado () {})
Y entonces la llamamos utilizando argumentos, por ejemplo:
amado (1,2,3,4);
Claro, realmente no se corresponde la definición de la función con la llamada, por lo que ¿cómo hacemos en Javascript? Podemos extraer uno a uno los argumentos de alguna manera, utilizando el array arguments. En arguments se almacena lo que hayas pasado entre paréntesis en forma de array o lista, siendo cada elemento un argumento. Como no sabemos cuántos argumentos han pasado a la función, porque igual podríamos llamarla “amado (1,2,3)” que como “amado()” que como “amado (1,2,3,4,5,6)”, pues lo que hacemos es recorrer ese arguments e ir mostrando cada uno de los valores que almacena en sus posiciones. ¿Me he explicado? ¡Ya me cuentas! ¡Un saludo!

Deja un comentario