Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Input e var input

Bom dia,

Não consegui entender muito bem a lógica neste ponto. Se a variável input no mundo javascript receber o valor declarado do input/ do mundo html, por que eu não posso usar a própria variável dentro do código? Por que eu tenho que usar o comando input.value? Ou por que simplesmente não usar input.value para trabalhar no javascript?

4 respostas

Olá Leandro, tudo bem?

Entendo sua dúvida e posso te ajudar a entender melhor essa questão.

Quando utilizamos um elemento <input> em HTML, ele é responsável por receber uma entrada de dados do usuário. No entanto, essa entrada não é armazenada diretamente na variável "input" em JavaScript.

O que acontece é que a variável "input" é apenas uma referência ao elemento <input> em HTML. Para acessar o valor inserido pelo usuário, precisamos utilizar a propriedade "value" desse elemento, que é onde o valor digitado é armazenado.

Por isso, não é possível utilizar a variável "input" diretamente no código JavaScript, pois ela não contém o valor inserido pelo usuário, apenas uma referência ao elemento <input>.

Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só perguntar.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓.

Isso eu entendi Renan. O que não entendi foi o por que de não poder usar diretamente o input.value no código java, afinal eu preciso colocar o valor dele dentro de uma variável, mas por que? Se ele já é uma variável que carrega o valor do input do html, eu não poderia simplesmente usar input.value ao invés de ter de escrever uma variável nova?

solução!

Olá novamente Leandro, tudo bem com você ?

Eu peço desculpas pelo meu equivoco anterior, vou tentar explicar da melhor forma agora então.

A razão pela qual você precisa atribuir o valor do input a uma variável em vez de usá-lo diretamente no código JavaScript é porque o valor do input é uma string, e não um número ou um objeto.

Quando você usa o input.value diretamente em seu código, você está acessando diretamente a propriedade value do objeto input, que é uma string. Isso significa que você pode executar operações em strings, como concatená-las com outras strings, mas você não pode executar operações matemáticas ou comparar diretamente com outras variáveis.

No entanto, quando você atribui o valor do input a uma variável, você pode realizar operações matemáticas ou compará-la com outras variáveis, pois a variável agora contém o valor do input em um formato que pode ser processado pelo JavaScript.

Por exemplo, suponha que você tenha um input que permite que o usuário digite um número e você queira adicionar 10 a ele. Se você tentar fazer isso diretamente com input.value + 10, o JavaScript concatenará a string "10" à string contendo o valor do input. Mas, se você atribuir o valor do input a uma variável e adicionar 10 a ela, como var numero = input.value; numero = Number(numero) + 10;, assim você pode adicionar mais 10 toda vez que quiser.

Quando você atribui o valor do input a uma variável e converte essa variável para um número usando a função Number(), agora é possível adicionar 10 a ela. Por exemplo:

var input = document.getElementById("numero"); // obter o elemento input
var numero = Number(input.value); // atribuir o valor do input a uma variável e converter para um número
numero = numero + 10; // adicionar 10 ao número
console.log(numero); // exibir o resultado no console do navegador

Dessa forma, o valor digitado pelo usuário é armazenado na variável 'numero' como um número e pode ser usado em operações matemáticas.

Espero ter esclarecido sua dúvida, mas sinta-se à vontade para me perguntar mais sobre o assunto ou outros tópicos.

Era isso um abraço e bons estudos.

Vlw Renan, muito obrigado pelo esclarecimento. Me ajudou bastante. :)