¿Qué es una función?
Imagina que tuvieras que reescribir la misma receta cada vez que quieres cenar. Un horror, ¿verdad? Las funciones son justo lo contrario: tu primer superpoder como programador. Escribe la lógica una vez y úsala mil veces.
Una función es un bloque de código con nombre que agrupa instrucciones para reutilizarlas. Piénsala como una receta de cocina: la escribes una vez y la "cocinas" (la llamas) tantas veces como te apetezca, sin volver a anotar los pasos.
Declaración de función
function saludar(nombre) {
return "Hola, " + nombre;
}
console.log(saludar("Ana")); // "Hola, Ana"
Una declaración empieza con la palabra function seguida de un nombre. Tiene
una propiedad especial: gracias al hoisting puedes llamarla antes de
escribirla en el código.
Expresión de función
const saludar = function (nombre) {
return "Hola, " + nombre;
};
Aquí la función no tiene nombre propio (es anónima) y se guarda en una variable. A diferencia de la declaración, no puedes usarla antes de definirla.
¿Cuál usar?
- Declaración: ideal para funciones principales y reutilizables.
- Expresión: útil cuando pasas una función como dato (por ejemplo, a otra función).
⚠️ Trampa clásica: confundir definir una función con llamarla. Escribir
saludar (sin paréntesis) te da la función entera; saludar("Ana") la ejecuta.
Son dos gestos distintos, y olvidar los paréntesis es de los despistes más comunes.
Ejemplos
Declaración llamada antes de definirse (hoisting)
console.log(doble(5)); // 10, ¡funciona aunque esté arriba!
function doble(n) {
return n * 2;
}
Expresión de función guardada en una variable
const cuadrado = function (n) {
return n * n;
};
console.log(cuadrado(4)); // 16