La recursividad en JavaScript es un concepto donde una función se llama a sí misma para resolver un problema. Se utiliza comúnmente para problemas que pueden dividirse en subproblemas más pequeños. Para que una función recursiva funcione, debe tener al menos una condición base que detenga las llamadas recursivas, evitando así un bucle infinito.