Qué significa RangeError y cómo solucionarlo
Referencia del error
RangeError
Lenguaje
Severidad
MediaCuándo ocurre
Un RangeError se lanza en JavaScript cuando un valor no está dentro del conjunto o rango de valores permitidos para una operación determinada.
Posibles soluciones
Valida los valores que pasas a las funciones integradas antes de llamarlas. Para la recursión, agrega un caso base y verifica que la entrada se reduzca hacia ese caso base. Usa soluciones iterativas en lugar de recursivas para entradas muy grandes.
Errores relacionados
Más detalles
Un RangeError se lanza en JavaScript cuando un valor no está dentro del conjunto o rango de valores permitidos para una operación determinada. Se ve más comúnmente al crear arrays con longitudes inválidas o al llamar funciones recursivas demasiado profundamente.
Por qué ocurre
- •Pasar un número negativo o no entero al constructor Array.
- •Superar el tamaño máximo del call stack con funciones recursivas profundas.
- •Llamar a toFixed(), toPrecision() o toExponential() con cantidad de dígitos fuera de rango.
- •Usar String.prototype.repeat() con un conteo negativo o no finito.
Posibles soluciones
Valida los valores que pasas a las funciones integradas antes de llamarlas. Para la recursión, agrega un caso base y verifica que la entrada se reduzca hacia ese caso base. Usa soluciones iterativas en lugar de recursivas para entradas muy grandes.
Ejemplos
Código que causa el error
const items = new Array(-1);Error en la terminal
RangeError: Invalid array length
Código corregido
// Use a non-negative length
const items = new Array(5);
console.log(items.length); // 5
// Or initialize with values:
const filled = Array.from({ length: 5 }, (_, i) => i);
console.log(filled); // [0, 1, 2, 3, 4]Practica en inglés
¿Cómo le explicarías un RangeError a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis