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

Duvida sobre boas práticas

Vi que nos exercícios os códigos dados são :

var tdPeso = paciente.querySelector(".info-peso");
var peso = tdPeso.textContent;

Eu fiz assim:

var peso = paciente.querySelector(".info-peso");
peso = peso.textContent;

Ou seja, eu não coloquei o "var" na segunda linha de código com o pensamento de que o navegador já sabe que "peso" é uma variável que eu acabei de criar e consegui obter os resultador corretos do exercício. Eu posso continuar fazendo assim ou por motivos de boas práticas eu tenho que colocar a tag da variável na frente de uma variável que já criei?

2 respostas

Oi Ricardo, tudo bem?

O melhor, por enquanto, é seguir conforme os exercícios, mas há uma diferença sim!

Basicamente declarando variáveis sem a palavra reservada "var" o JS assume que você está criando uma variável global, que pode ser acessada de qualquer canto do seu código!

Você vai ver na prática a diferença entre variáveis globais e as outras conforme estuda JS aqui na Alura, ok?

Espero ter ajudado e bons estudos,

Abcs!

solução!

Boa noite, Ricardo! Como vai?

Uma vez que vc tenha criado uma variável depois disso não é necessário colocar a palavra reservada var antes dela para poder utilizá-la novamente. Ou seja, no seu caso, como vc bem deduziu, na segunda linha o navegador já sabe que peso é uma variável que foi declarada na primeira linha.

No entanto, há uma diferença entre o que vc fez e o código do exercício! Repare que no código do exercício existem duas variáveis: - tdPeso que guarda um elemento HTML que tem a classe CSS .info-peso; - peso que guarda o valor textual do elemento HTML armazenado na variável anterio.

No seu código, há apenas uma variável peso que na primeira linha armazenou um elemento HTML que tem a classe CSS .info-peso e que na segunda linha passou a armazenar o valor textual do elemento HTML.

O que vc fez, não está incorreto e inclusive, pelo contrário! Vc apenas abreviou o código do exercício e poderia ter ido ainda mais além fazendo:

var peso = paciente.querySelector(".info-peso").textContent;

A forma como vc irá desenvolver o seu código vai depender do que vc está querendo resolver!

Exemplo prático:

Código 1:

var tdPeso = paciente.querySelector(".info-peso");
var peso = tdPeso.textContent;

Esse código é melhor caso eu precise manipular o elemento HTML armazenado em tdPeso outras vezes! Afinal de contas, sempre que eu precisasse utilizar ele, bastaria usar a variável tdPeso e não teria que escrever novamente paciente.querySelector(".info-peso").

Código 2:

var peso = paciente.querySelector(".info-peso");
peso = peso.textContent;

Esse código que vc escreveu é melhor caso eu saiba que não irei precisar manipular outras vezes o elemento HTML retornado por paciente.querySelector(".info-peso").

Conseguiu entender a diferença das abordagens e como pode utilizar a variação dos códigos para ter um melhor resultado?

Qualquer coisa é só falar!

Grande abraço e bons estudos!