Lingua-e
JavaScript

¿Qué significa RangeError?

← Errores

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.

Ejemplos

JavaScript

Código que causa el error

const items = new Array(-1);

Error en la terminal

RangeError: Invalid array length

Cómo solucionarlo

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.

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]

Errores relacionados

¿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