Trabajo con recursión en JavaScript

En programación existe un concepto llamado recursión - es cuando una función se llama a sí misma. Veamos un ejemplo. Mostremos números del 1 al 10 usando recursión:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // aquí la función se llama a sí misma
  }
}
func();

Analicemos cómo funciona este código.

Tenemos una variable global i y una función func, dentro de la cual en la consola se muestra el contenido de la variable i, y luego se realiza ++.

Si nuestra variable i es menor o igual a 10, entonces la función se llama nuevamente. Como la variable i es global, en cada nueva llamada de la función en ella estará el valor establecido durante la llamada anterior de la variable i.

Resultará que la función se llamará a sí misma hasta que i no sea mayor a 10.

Tenga en cuenta que en nuestro caso no se puede ejecutar la función sin if - si se hace esto, obtendremos una llamada infinita de funciones.