Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Variável Const

Consegui fazer o desafio do telefone, porém na primeira tentativa eu declarei como var: var tecla = listaDeTeclas[i];, e no campo de texto só era digitado o "#", que é o ultimo botão da lista. Então resolvi isso trocando a variável para const. Nesse momento fiquei com dúvida sobre a funcionalidade do var, let e const. Pesquisei e achei um artigo da Alura que explica muito bem isso. Porém, a dúvida que me restou é a seguinte, se o const declara uma variável que não pode ser redeclarada ou retribuída com outro valor, por quê o seguinte código funciona se ele está declarando e atribuindo 9 vezes o "const tecla"?

var listaDeTeclas = document.querySelectorAll('input[type=button]');
var campoTexto = document.querySelector('input[type=tel]');


for (var i = 0; i < listaDeTeclas.length; i++) {
    const tecla = listaDeTeclas[i];
    const valor = tecla.value;

    tecla.onclick = function(){
        campoTexto.value = campoTexto.value + valor;
    };

}
1 resposta
solução!

Oi, Grabiel. O const está restrito ao bloco '{ }'

Cada varredura do for é um bloco diferente


const tecla = 'A'
{
    const tecla = 'B'
    {
        const tecla = 'C'
        console.log(1, tecla) 
    }
    console.log(2, tecla) 
}
console.log(3, tecla) 

/* console
1 C
2 B
3 A
*/