2
respostas

dúvida no if e booleano, se são necessários true or false

    var pesoEhValido = true;
    var alturaEhValida = true;

    if (peso <= 0 || peso >= 1000) {
        console.log("Peso inválido!");
        pesoEhValido = false;
        tdImc.textContent = "Peso inválido";
    }

    if (altura <= 0 || altura >= 3.00) {
        console.log("Altura inválida!");
        alturaEhValida = false;
        tdImc.textContent = "Altura inválida";
    }

  if (alturaEhValida && pesoEhValido) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc;
    }

Sou novo e gostaria de entender, minha dúvida é na necessidade do true nas duas primeiras linha e o false depois para "validar". Pois se a altura for maior q 3 ou <= 0 irá imprimir altura inválida de qualquer maneira.

2 respostas

Guilherme, boa tarde!

De fato é necessário, pois é nós usamos ela para calcular o imc. Isso porque se a altura ou o peso não for válido, não tem porquê calcular o IMC e ocupar esse espaço na memória.

Além disso se não for inicializado nas duas primeiras linhas ele seria definido como undefined e ele nunca calcularia o imc

Eu espero ter ajudado e bons estudos!

Sim, nesse caso esse trecho de fato só calcula se forem válidos. É que na aula antes dele aplicar o if ele havia somente definido a variavel var imc = peso / (altura * altura);.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software