Analizando el codigo, me encontre con la duda de porqué razón en este codigo (donde se utiliza la recursividad):
function generarNumeroSecreto() {
let numeroGenerado = Math.floor(Math.random() * numeroMaximo) + 1
console.log(numeroGenerado)
console.log(listaNumerosSorteados)
if(listaNumerosSorteados.length == numeroMaximo){
asignarTextoElemento('p','Ya se sortearon todos lo números posibles')
}else{
if(listaNumerosSorteados.includes(numeroGenerado)){
return generarNumeroSecreto() /* Justo en esta parte, se está retornando la misma función */
}else{
listaNumerosSorteados.push(numeroGenerado)
return numeroGenerado
}
}
}
Por qué razón se utiliza el return? A caso no se puede simplemente llamar otra vez la función como se suele hacer normalmente (sin necesidad de retornar); aunque ya probe con quitarle el return y el resultado me confundio mucho pues al principio funciona bien, pero después deja de funcionar, y esto varía. Entonces me gustaría que alguien me resolviera esta duda, la razón del porque se debe retornar la función y no simplemente llamarla