Este SyntaxError se lanza cuando se usa let o const para declarar un nombre de variable que ya existe en el mismo ámbito. A diferencia de var, que permite silenciosamente la redeclaración, let y const aplican nombres únicos dentro de un ámbito de bloque.
Por qué ocurre
- •Declarar la misma variable dos veces con let o const en el mismo bloque.
- •Un nombre de variable colisiona con un parámetro de función en el mismo ámbito.
- •Copiar y pegar código que introduce una declaración duplicada.
- •Empaquetado o transpilación que pone los nombres de variables de dos módulos en el mismo ámbito.
Ejemplos
Código que causa el error
let count = 0;
let count = 1; // redeclaration in same scopeError en la terminal
SyntaxError: Identifier 'count' has already been declared
Cómo solucionarlo
Para actualizar una variable existente, usa la asignación (=) sin una palabra clave de declaración. Si necesitas una nueva variable en un ámbito anidado, envuélvela en un bloque ({}). Renombra una de las variables en conflicto si sirven a diferentes propósitos.
Código corregido
let count = 0;
count = 1; // reassign, not redeclareErrores 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