Argumentos de las funciones
1. Cómo Ver los Argumentos Pasados a una Función en JavaScript #
En JavaScript, cuando llamas a una función, puedes pasarle uno o más argumentos. Dentro de la función, puedes acceder a estos argumentos de varias maneras.
Usando los Parámetros de la Función #
La forma más directa de ver los argumentos es mediante los parámetros que defines en la función. Estos parámetros actúan como variables dentro de la función y contienen los valores de los argumentos pasados.
Ejemplo:
1function saludar(nombre, edad) { 2 console.log("Nombre:", nombre); 3 console.log("Edad:", edad); 4} 5 6saludar("Juan", 30);Salida de consola Nombre: Juan Edad: 30
En este ejemplo:
nombreyedadson parámetros que contienen los valores"Juan"y30, respectivamente.
Usando el Objeto arguments #
Cada función en JavaScript tiene un objeto especial llamado arguments. Este objeto es similar a un array y contiene todos los argumentos que se pasaron a la función, sin importar cuántos fueron definidos como parámetros.
Ejemplo:
1function sumar() { 2 console.log(arguments); 3 let total = 0; 4 for (let i = 0; i < arguments.length; i++) { 5 total += arguments[i]; 6 } 7 console.log("Total:", total); 8} 9 10sumar(1, 2, 3, 4); // Muestra el objeto arguments y la suma total: 10Salida de consola [Arguments] { '0': 1, '1': 2, '2': 3, '3': 4 } Total: 10
En este ejemplo:
argumentscontiene todos los argumentos pasados:1,2,3,4.- Se puede recorrer
argumentscomo un array para procesar todos los valores.
Nota: El objeto arguments no es un verdadero array, sino un objeto similar a un array (array-like). Aunque se puede acceder a sus elementos usando índices (arguments[0], arguments[1], etc.), no tiene todos los métodos de un array.
Usando el Operador Rest (...) #
Desde ES6, JavaScript introdujo el operador rest (...) que te permite capturar todos los argumentos pasados a una función en un verdadero array. Esto es más moderno y flexible que el objeto arguments.
veremos más sobre el operador rest en otros capítulos.
Ejemplo:
1function sumar(...numeros) { 2 console.log(numeros); // Muestra un array con los números 3 let total = 0; 4 for (let i = 0; i < numeros.length; i++) { 5 total += numeros[i]; 6 } 7 console.log("Total:", total); 8} 9 10sumar(1, 2, 3, 4); // Muestra [1, 2, 3, 4] y la suma total: 10Salida de consola [ 1, 2, 3, 4 ] Total: 10
En este ejemplo:
Resumen del tema
Conceptos clave #
- Parámetros Nombrados: variables formales declaradas en la firma de la función.
- Objeto
arguments(Clásico): objeto iterable array-like (con.lengthe índices numéricos, pero sin métodos de Array como.map()o.filter()) disponible en funciones tradicionales (no en funciones flecha). - Parámetro Rest (
...args) (Moderno ES6): agrupa argumentos variables en un Array real con acceso nativo a todos los métodos de prototipo de Array.
Qué debes recordar #
Prefiere siempre el parámetro Rest (...args) frente al objeto clásico arguments para manejar un número variable de argumentos de forma moderna y limpia.