Travailler avec la récursivité en JavaScript
En programmation, il existe un concept appelé
récursivité - c'est lorsqu'une fonction s'appelle
elle-même. Regardons un exemple.
Affichons les nombres de 1
à 10 en utilisant la récursivité :
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // ici la fonction s'appelle elle-même
}
}
func();
Discutons du fonctionnement de ce code.
Nous avons une variable globale i
et une fonction func, à l'intérieur de laquelle le contenu
de la variable i est affiché dans la console,
puis un ++ est effectué.
Si notre variable i est inférieure ou
égale à 10, alors la fonction est rappelée.
Comme la variable i est globale,
à chaque nouvel appel de la fonction, elle
contiendra la valeur de la variable i
définie lors de l'appel précédent.
Il en résultera que la fonction s'appellera
elle-même jusqu'à ce que i devienne
supérieur à 10.
Notez que dans notre cas, il est impossible de lancer la fonction
sans le if - si on le fait,
on obtiendrait un appel infini de fonctions.