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

Duvida Exercicio Alura Fone

Eu fiz o curso todo e no fim eu devo ter me perdido em alguma explicação, é bem possível, mas ao executar o exercício eu não soube fazer mesmo pensando da forma correta de se executar, só não sabia transcrever oque eu pensei, mas no gabarito vi algo diferente que eu não entendi direito

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

essa parte é uma função anônima, isso eu entendi, mas eu acho que não compreendi como ele está funcionando e o que seria esse .value

eu queria saber se o que eu estou achando está certo.

inputTel.valeu é o botão de escolha que o usuário clica no teclado exemplo 9, ele via armazenar que foi escolhida essa tecla. tecla.value é o valor que corresponde ao indice da variável listaDeTeclas, então ele vai pegar a informação do inputTel.value e somar com o valor que está nesse indice e imprimir na tela o numero 9

não se eu expliquei direito, mas está certa esse meu pensamento?

1 resposta
solução!

Oi João.

O value é um atributo da tag input que armazena o valor daquela tag.

O inputTel é a constante que recebeu o elemento retornado pelo querySelector (que no caso foi a tag <input type="tel" placeholder="Digite seu telefone">). Inicialmente, inputTel não possui valor, então seu value é vazio. Se você colar o HTML do exercício em um arquivo e abrir no navegador, vai ver que esse input type="tel" é um campo de texto.

A tecla é a constante que está recebendo uma das teclas que vem do comando for (por exemplo, a tecla poderia ser o <input type="button" value="1">). Observe que nesse input type="button" possui um valor no atributo value (no caso do meu exemplo, value seria 1).

Dito isso, o comando inputTel.value = inputTel.value + tecla.value; está dizendo: "coloque no value da constante inputTel o valor que ela já possui + o valor de value da constante tecla". Como no caso esses valores são texto, esse comando vai concatenar (juntar) os dois valores. Por exemplo, se o value de inputTel fosse 9 e o value de tecla fosse 2, o comando faria com que o value de inputTel ficasse 92. E lembra que eu disse que o inputTel é um campo de texto? Então, esse value irá mostrar o valor no campo de texto no navegador.