InternalError: too much recursion
Mensaje
InternalError: too much recursion
Tipo de error
¿Qué ha ido mal?
Una función que se llama a sí misma es una función recursiva. Podemos decir que la recursión es análoga a un bucle. Ambos ejecutan el mismo código varias veces y ambos requieren de una condición de fin (para evitar un bucle infinito o recursión infinita). Cuando hay recursión infinita o mucha recursión, JavaScript lanza este error.
Ejemplos
Esta función recursiva se ejecuta 10 veces, debido a la condición de salida.
js
function loop(x) {
if (x >= 10) {
// "x >= 10" es la condición de salida
return;
}
// hacer cosas
loop(x + 1); // llamada recursiva
}
loop(0);
Si establecemos esta condición para un valor muy alto, no funcionará:
js
function loop(x) {
if (x >= 1000000000000) {
return;
}
// hacer cosas
loop(x + 1);
}
loop(0);
// InternalError: too much recursion (demasiada recursión)