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

Resolvido de forma diferente

Olá!

Tenho uma dúvida quanto a atividade 11 da aula 2 de JavaScript. Resolvi a atividade de uma forma diferente, mais compacta, e tudo funcionou perfeitamente. Segue o código:

var paciente = document.querySelector("#primeiro-paciente");
var Peso = paciente.querySelector(".info-peso").textContent;
var Altura = paciente.querySelector(".info-altura").textContent;
var imc = Peso / (Altura * Altura);
var tdImc = paciente.querySelector(".info-imc");
tdImc.textContent = imc;

Existe algum problema em pedir diretamente o .textContent quando uso o querySelector? Isso é uma boa prática ou deve ser evitada?

Obrigado, Gabriel Kyomen.

1 resposta
solução!

E aí Gabriel,

Tranquilo?

Então, tudo isso depende da sua garantia de qualidade da sua estrutura de código, por exemplo, se por algum motivo o elemento selecionado com id primeiro-paciente não tiver um elemento dentro dele com a classe info-peso ele irá gerar o erro Uncaught TypeError: Cannot read property 'textContent' of null, então não seria uma boa prática se você não garantir que SEMPRE terá um elemento com estas classes.

É muito complexo essa questão de boa prática, pois por mais que seja um acordo que os desenvolvedores promovem, existe muito o do meu jeito, no meu caso eu faria um if para garantir que caso ele não achasse o elemento, retornasse um peso negativo, assim na função de validar o paciente você consegue saber que algo no código não funcionou corretamente.