VARIABLES Y TIPOS

RangeError: valor fuera de límites

Una operación ha recibido un valor fuera del intervalo permitido por JavaScript o ha agotado la pila de llamadas.

Si te aparece: Invalid array length o Maximum call stack size exceeded

Solución rápida: Valida longitudes e índices y añade una condición de salida a las funciones recursivas.

Qué está pasando

Puede ocurrir con una longitud de array inválida o con recursión que nunca termina.

Cómo corregirlo

✕ Código problemático
const elementos = new Array(-2);
console.log(elementos.length);
✓ Código corregido
const longitud = Math.max(0, -2);
const elementos = new Array(longitud);
console.log(elementos.length);

Cómo comprobarlo

La longitud resultante es 0 y no aparece RangeError.

Ten en cuenta

Para recursión infinita, revisa el caso base antes de aumentar límites.