Lingua-e
← Errores
JavaScript

Qué significa RangeError y cómo solucionarlo

Referencia del error

RangeError

Lenguaje

JavaScript

Severidad

Media

Cuá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

JavaScript

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