Qué significa Assignment to Constant Variable y cómo solucionarlo
Referencia del error
Assignment to Constant Variable
Lenguaje
Severidad
MediaCuándo ocurre
Este TypeError se lanza en tiempo de ejecución cuando intentas reasignar una variable declarada con const.
Posibles soluciones
Usa let para variables cuyos valores cambiarán. Reserva const para valores que son verdaderamente fijos. Recuerda que los objetos const aún pueden tener sus propiedades mutadas; usa Object.freeze() si necesitas verdadera inmutabilidad.
Errores relacionados
Más detalles
Este TypeError se lanza en tiempo de ejecución cuando intentas reasignar una variable declarada con const. const crea un enlace que no puede ser reasignado después de la inicialización. Ten en cuenta que para objetos y arrays, el enlace es constante pero el contenido aún puede mutarse.
Por qué ocurre
- •Reasignar directamente una variable const con = después de su declaración inicial.
- •Usar += o ++ en una variable const.
- •Declarar accidentalmente un contador de bucle con const en lugar de let.
- •Pensar erróneamente que const congela completamente los objetos.
Posibles soluciones
Usa let para variables cuyos valores cambiarán. Reserva const para valores que son verdaderamente fijos. Recuerda que los objetos const aún pueden tener sus propiedades mutadas; usa Object.freeze() si necesitas verdadera inmutabilidad.
Ejemplos
Código que causa el error
const MAX_RETRIES = 3;
MAX_RETRIES = 5;Error en la terminal
TypeError: Assignment to constant variable.
Código corregido
// Use let if the value needs to change
let maxRetries = 3;
maxRetries = 5;
// Or keep const if the value is truly fixed
const MAX_RETRIES = 3;Practica en inglés
¿Cómo le explicarías un Assignment to Constant Variable 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