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...
¿Programando en inglés?
Para arreglar esto, leíste inglés técnico real. Lingua-e tiene ejercicios gratis hechos igual: dailys, code reviews y situaciones reales de trabajo.
Practicar inglés para developers gratis