1. Funciones anónimas
1. Funciones anónimas
Son funciones sin nombre. Se definen en el lugar donde se van a usar, normalmente como argumento de otra función o asignadas a una variable.
Ejemplo clásico (sin asignar a variable):
setTimeout(function() { console.log("Pasó 1 segundo"); }, 1000);
Ejemplo asignado a variable:
const saludar = function(nombre) { return "Hola " + nombre; }; console.log(saludar("Ana")); // "Hola Ana"
2. Funciones tipo flecha (arrow functions)
Es una forma más corta de escribir funciones anónimas. Se escriben con =>. Tienen algunas diferencias importantes (como el comportamiento de this), pero para empezar, piensa en ellas como una sintaxis más limpia.
Sintaxis básica:
// Función normal const sumar = function(a, b) { return a + b; }; // Arrow function equivalente const sumarFlecha = (a, b) => a + b; console.log(sumarFlecha(3, 5)); // 8
Casos especiales:
Un solo parámetro: puedes omitir paréntesis
Una sola expresión: puedes omitir
{}yreturn
const doble = n => n * 2; console.log(doble(4)); // 8 // Si necesitas varias líneas, usas {} y return explícito const mayor = (a, b) => { if (a > b) return a; return b; };
3. Funciones callback
Una callback es una función que se pasa como argumento a otra función, y esta la ejecutará más tarde (cuando termine algo, o cuando ocurra un evento).
Ejemplo simple:
function procesarUsuario(nombre, callback) { console.log("Procesando a " + nombre); callback(nombre); } procesarUsuario("Luis", function(n) { console.log("Terminé con " + n); }); // Salida: // Procesando a Luis // Terminé con Luis
Callback con funciones anónimas y flecha:
// Con función anónima tradicional [1, 2, 3].forEach(function(num) { console.log(num * 2); }); // Con arrow function (más moderna y común) [1, 2, 3].forEach(num => console.log(num * 2)); // 2, 4, 6
Ejemplo útil (simulando operación asíncrona):
function hacerTarea(tarea, callback) { console.log("Haciendo " + tarea + "..."); setTimeout(() => { callback(tarea + " completada"); }, 1000); } hacerTarea("limpiar", mensaje => { console.log(mensaje); }); // Después de 1 segundo: "limpiar completada"
Resumen rápido
| Concepto | ¿Qué es? | Ejemplo mínimo |
|---|---|---|
| Función anónima | Función sin nombre | function(x){ return x*2; } |
| Arrow function | Sintaxis corta de función anónima | x => x*2 |
| Callback | Función pasada a otra función | algo( (resultado) => {...} ) |
Y lo mejor: puedes combinarlos. Las arrow functions se usan mucho como callbacks porque son más limpias:
// Callback con arrow function boton.addEventListener("click", () => { console.log("Click!"); });
¿Necesitas ahondar en algún punto en particular?
Comentarios
Publicar un comentario