Parámetros y argumentos

javascript funciones

📝 ¿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 nombre
saludar("Ana");
saludar("Carlos");

Terminal window
¡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);

Terminal window
El total es: 75

💡 Consejos para nombrar parámetros

  1. Usa nombres descriptivos que indiquen qué tipo de valor esperas
  2. Mantén los nombres simples pero claros
  3. 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");

Terminal window
¡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");

Terminal window
Hola, Ana
Ana, 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 6
console.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áquina
  • precioProducto: 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);

Terminal window
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");

Terminal window
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!

Comentarios