Una callback es una función que pasas a otra función para que esa otra función la ejecute más tarde.
Traducción mental rápida:
Aquí saludar es la callback.
Qué ocurre exactamente:
procesarDato recibe dato = 5.procesarDato recibe accion = duplicar.accion(dato) -> duplicar(5).duplicar(5) devuelve 10.10.Misma idea, con función anónima (tradicional):
Aquí también hay callback, pero sin nombre propio. No puedes "llamarla por nombre" después, porque no lo tiene. Se usa en ese momento y listo.
Si quisieras reutilizar esa misma lógica más veces, entonces sí conviene guardarla:
Con función flecha:
La versión flecha es, en muchos casos, una forma más corta de esa función anónima.
Diferencia clave:
procesarDato(5, duplicar) -> pasas la funciónprocesarDato(5, duplicar()) -> ejecutas la función antes de tiempoPara callbacks, normalmente quieres pasar la función, no ejecutarla.
Cuando veas código con callbacks, pregúntate:
aplicar(valor, accion) que ejecute accion(valor).Entender callbacks te abre la puerta a casi todo JavaScript moderno...