Bom dia!
Sim, se pode declarar uma variável com mesmo nome duas vezes:
O impeditivo será o escopo da mesma. Se for mantido o uso de "let", pode declarar inúmeras vezes. Só não pode mudar o escopo.
Concordo que a boa prática diz que após declarada a variável, se faz o reuso da mesma. Mas No caso do nosso colega Breno, não há impacto no funcionamento do código. Será executado corretamente.
var, let e const não são tipos de variáveis. Aqui, a relação é com o escopo/visibilidade da variável ou constante.
Existem três tipos de declarações em JavaScript.
- var: Declara uma variável, opcionalmente, inicializando-a com um valor.
- let: Declara uma variável local de escopo do bloco, opcionalmente, inicializando-a com um valor.
- const: Declara uma constante de escopo de bloco, apenas de leitura.
Você pode declarar uma variável de três formas:
- Com a palavra chave var. Por exemplo, var x = 42. Esta sintaxe pode ser usada para declarar tanto variáveis locais como variáveis globais.
- Por simples adição de valor. Por exemplo, x = 42. Isso declara uma variável global. Essa declaração gera um aviso de advertência no JavaScript. Você não deve usar essa variante.
- Com a palavra chave let. Por exemplo, let y = 13. Essa sintaxe pode ser usada para declarar uma variável local de escopo de bloco.
O const deixa de ser "variável", pois não se modifica. Então é tratada como "constante"
Realizem testes ai, declarando variaveis com mesmo nome com escopos distintos e vejam os resultados..
Bons estudos!