CodeForge

JavaScript de Cero a Experto / Funciones

Parámetros, argumentos y valores por defecto

Teoría20 min20 XP

Una función se vuelve verdaderamente útil cuando trabaja con DATOS distintos cada vez que la llamas. Eso se logra con los parámetros. Hoy los dominas: la diferencia entre parámetro y argumento, cómo pasar varios, y cómo dar valores por defecto para cuando falta un dato. El arte de hacer funciones flexibles.

El formulario con espacios en blanco

Parámetros son los nombres al DEFINIR la función (nombre, valor, categoria); argumentos son los valores concretos que pasas al LLAMARLA ("Almuerzo", 18000). Y cuidado con el orden: los argumentos se asignan por POSICIÓN — el primero va al primer parámetro, y así. Invertirlos mete el valor en el espacio equivocado (la última línea del ejemplo).

¿Y si falta un argumento?

Si llamas una función con menos argumentos de los que espera, los que faltan quedan undefined:

Un valor por defecto (saludo = "Hola") se usa SOLO cuando ese argumento falta (o es undefined). Es como tener un espacio del formulario pre-rellenado: si no escribes nada, queda el valor previsto; si escribes, gana lo tuyo. Perfecto para parámetros "opcionales" (un descuento que por defecto es 0, un saludo estándar, etc.).

Buenas prácticas de diseño

Defines function precioFinal(precio, descuento = 0) y la llamas con precioFinal(10000). ¿Qué vale 'descuento' dentro de la función?

Mini-reto

En "Mi Bolsillo": escribe function aplicarDescuento(precio, porcentaje = 10) que DEVUELVA el precio con ese descuento aplicado. Llámala una vez con un porcentaje explícito (aplicarDescuento(50000, 20)) y otra sin él (aplicarDescuento(50000), que debe usar el 10% por defecto). Muestra ambos resultados. Sentir cómo el default cubre el caso "no me dieron el dato" es clave para funciones robustas.

Qué sigue

Ya diseñas funciones con parámetros. Existe una forma más corta y moderna de escribirlas —las ARROW FUNCTIONS (=>)— que verás en todas partes, especialmente al trabajar con listas y en React. La próxima lección las presenta, junto a la diferencia entre declarar una función y guardarla en una variable.