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):

javascript
setTimeout(function() {
  console.log("Pasó 1 segundo");
}, 1000);

Ejemplo asignado a variable:

javascript
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:

javascript
// 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 {} y return

javascript
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:

javascript
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:

javascript
// 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):

javascript
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ónimaFunción sin nombrefunction(x){ return x*2; }
Arrow functionSintaxis corta de función anónimax => x*2
CallbackFunción pasada a otra funciónalgo( (resultado) => {...} )

Y lo mejor: puedes combinarlos. Las arrow functions se usan mucho como callbacks porque son más limpias:

javascript
// Callback con arrow function
boton.addEventListener("click", () => {
  console.log("Click!");
});

¿Necesitas ahondar en algún punto en particular?

Comentarios

Entradas más populares de este blog

n-funcion - el botón-n

1-valores duplicados en un arreglo

analogías aún más simples this