1
resposta

Sobre o validador do exemplo no vídeo

//Nós colocamos um validado true ou false no programa para que só mostre o icm se o validador for verdadeiro. A minha dúvida é que você colocou apenas a seguinte linha: " if (testePeso && testeAltura) { var imc = Math.round(peso / (altura * altura)); imcTdPaciente.textContent = imc; "

Na minha cabeça faz mais sentido se na linha 1 do exemplo a cima fosse: if (testePeso = true && testeAltura= true)

Da forma como você colocou é um jeito abreviado e mais rápido ou de fato é o único jeito?

var testePeso = true;
var testeAltura = true;


if (peso <= 0 || peso >= 600) {

    console.log("Peso inválido!");
    imcTdPaciente.textContent = "Peso inválido";
    testePeso = false;
}

if (altura <= 0 || altura >= 3) {

    console.log("Altura inválida!");
    imcTdPaciente.textContent = "Altura inválida";
    testeAltura = false;
}

if (testePeso && testeAltura) {
    var imc = Math.round(peso / (altura * altura));
    imcTdPaciente.textContent = imc;
}
1 resposta

Boa tarde Pedro,

Os dois códigos abaixo são equivalentes (com algumas ressalvas), o primeiro é uma versão abreviada:

if (testePeso && testeAltura) {
    var imc = Math.round(peso / (altura * altura));
    imcTdPaciente.textContent = imc;
}
if (testePeso === true && testeAltura === true) {
    var imc = Math.round(peso / (altura * altura));
    imcTdPaciente.textContent = imc;
}

A diferença é que no segundo o if só vai ser executado se o valor das variáveis for True, já no primeiro o javascript vai entrar no if desde que essas variáveis sejam diferentes de null ou undefined ou false.

Abraços