Parámetros y argumentos
📝 ¿Qué son los parámetros y argumentos?
Para hacer nuestras funciones más flexibles y reutilizables, necesitamos una forma de enviarles información. Aquí es donde entran los parámetros y argumentos.
Analogía
Si una función es como una máquina, los parámetros son como las ranuras o espacios donde podemos introducir diferentes materiales (argumentos) para que la máquina los procese.
Por ejemplo, una máquina expendedora tiene ranuras para monedas (parámetros) donde introducimos dinero real (argumentos) para obtener un producto.
La diferencia entre parámetros y argumentos
Siguiendo con nuestra analogía de la máquina:
- Los parámetros son como las ranuras o espacios que diseñamos en nuestra máquina. Por ejemplo, una ranura para monedas o un compartimento para ingredientes.
- Los argumentos son los objetos reales que introducimos en esas ranuras. Por ejemplo, las monedas específicas o los ingredientes que usamos.
🌟 Usando parámetros en la práctica
Veamos un ejemplo simple:
function saludar(nombre) { console.log("¡Hola, " + nombre + "!");}
// "Ana" y "Carlos" son los argumentos// que metemos en el parámetro nombresaludar("Ana");saludar("Carlos");
¡Hola, Ana!¡Hola, Carlos!
De esta manera podemos reutilizar la función para saludar a cualquier persona, independientemente de su nombre.
🔢 Múltiples parámetros
Podemos definir funciones que reciban varios parámetros separándolos por comas:
function calcularTotal(precio, cantidad) { console.log("El total es: " + precio * cantidad);}
calcularTotal(25, 3);
El total es: 75
💡 Consejos para nombrar parámetros
- Usa nombres descriptivos que indiquen qué tipo de valor esperas
- Mantén los nombres simples pero claros
- Usa camelCase (primera palabra en minúscula, siguientes palabras capitalizadas)
Por ejemplo:
- ✅
nombre
,edad
,precioTotal
- ❌
x
,abc
,param1
⭐ Características avanzadas
Parámetros con valores por defecto
Podemos asignar valores predeterminados a los parámetros. Estos se usarán cuando no proporcionemos un argumento:
function saludar(nombre = "amigo") { console.log("¡Hola, " + nombre + "!");}
saludar();saludar("María");
¡Hola, amigo!¡Hola, María!
🎮 Orden de los parámetros
El orden en que colocamos los parámetros es importante. Es como una máquina que tiene las ranuras numeradas:
function crearMensaje(saludo, nombre) { console.log(saludo + ", " + nombre);}
crearMensaje("Hola", "Ana");crearMensaje("Ana", "Hola");
Hola, AnaAna, Hola
☝️🤓
🏋️♂️ Ejercicio
Crea una función presentar
que reciba tres parámetros: nombre, edad y profesion, y muestre un mensaje de presentación:
function presentar(nombre, edad, profesion) { // Tu código aquí}
presentar("Ana", 25, "desarrolladora");// Debería imprimir: "Me llamo Ana, tengo 25 años y soy desarrolladora"
🏋️♂️ Ejercicio
Crea una función calcularPromedio
que use el operador rest para recibir cualquier cantidad de números y devolver su promedio:
function calcularPromedio(...numeros) { // Tu código aquí}
console.log(calcularPromedio(4, 6, 8)); // Debería imprimir 6console.log(calcularPromedio(2, 4, 6, 8, 10)); // Debería imprimir 6
🏋️♂️ Ejercicio
Crea una función calcularCambio
que reciba dos parámetros:
dineroIngresado
: El dinero que el cliente mete en la máquinaprecioProducto
: El precio del producto seleccionado
La función debe mostrar en consola cuánto cambio debe devolver.
function calcularCambio(dineroIngresado, precioProducto) { const cambio = dineroIngresado - precioProducto; console.log("Tu cambio es: " + cambio);}
calcularCambio(100, 75);
Tu cambio es: 25
🏋️♂️ Ejercicio
Ahora, crea una función prepararBebida
que reciba tres parámetros:
bebida
: El tipo de bebida (“café”, “té”, etc.)tamaño
: El tamaño del vaso (“pequeño”, “mediano”, “grande”)extras
: Ingredientes adicionales
function prepararBebida(bebida, tamaño, extras) { console.log("Preparando " + tamaño + " " + bebida + " con " + extras);}
prepararBebida("café", "grande", "leche");
Preparando grande café con leche
🚀 Extra
Crea una función crearSaludo
que reciba un idioma como parámetro y devuelva una función personalizada de saludo:
function crearSaludo(idioma = "es") { // Tu código aquí // Para "es" -> "¡Hola, [nombre]!" // Para "en" -> "Hello, [nombre]!" // Para "fr" -> "Bonjour, [nombre]!"}
const saludoEspanol = crearSaludo("es");const saludoIngles = crearSaludo("en");
console.log(saludoEspanol("María")); // ¡Hola, María!console.log(saludoIngles("John")); // Hello, John!