Olá Raí! Tudo bem?
Primeiramente, agradeço por compartilhar sua dúvida conosco. Vamos esclarecer sua pergunta de forma educada, clara e respeitosa.
No código que você apresentou, o instrutor não declarou as variáveis nome
e quantidade
com o .value
porque essas variáveis estão sendo atribuídas aos elementos do formulário, e não aos valores em si. O .value
é utilizado para obter o valor inserido pelo usuário nos campos de entrada (input) do formulário.
Vamos analisar o trecho do código em questão:
const nome = evento.target.elements["nome"]
const quantidade = evento.target.elements["quantidade"]
Neste código, o evento está sendo capturado e, através do evento.target.elements
, está acessando os elementos do formulário pelo seu atributo name
. É importante destacar que, ao fazer isso, as variáveis nome
e quantidade
estão armazenando uma referência aos elementos do formulário, não os valores contidos nesses elementos.
Por exemplo, se você tem um formulário HTML como este:
<form>
<input type="text" name="nome" value="João">
<input type="number" name="quantidade" value="5">
<button type="submit">Enviar</button>
</form>
Ao realizar a seleção dos elementos pelo name
utilizando evento.target.elements
, o objeto nome
não será "João" e o objeto quantidade
não será o número "5". Essas variáveis irão conter referências para os elementos HTML correspondentes. Para obter os valores reais desses campos, você precisará utilizar o .value
posteriormente, como é feito no trecho do código abaixo:
criaElemento(nome.value, quantidade.value)
Aqui, nome.value
e quantidade.value
estão sendo utilizados para passar os valores inseridos pelo usuário no momento do envio do formulário (quando o botão "Enviar" é clicado) para a função criaElemento
. Essa função provavelmente será responsável por manipular esses valores, seja para exibi-los na página, armazená-los em algum local ou realizar alguma outra ação com eles.
Em seguida, no código abaixo, temos o trecho que zera o formulário após enviá-lo:
nome.value = ""
quantidade.value = ""
Aqui, estamos utilizando o .value
novamente para atribuir uma string vazia às propriedades .value
dos elementos nome
e quantidade
. Isso resulta em limpar os campos de entrada do formulário após o envio, deixando-os prontos para uma nova interação do usuário.
Em resumo, o motivo pelo qual o instrutor não declarou as variáveis nome
e quantidade
com o .value
é porque essas variáveis estão sendo usadas para referenciar os elementos do formulário, enquanto o .value
é usado para obter os valores desses elementos.
Espero que esta explicação tenha sido clara e tenha esclarecido sua dúvida.
Se você tiver mais perguntas ou precisar de mais detalhes, não hesite em perguntar.
Abraços e Bons estudos!
Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓