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

No cálculo do IMC do paciente não é utilizado parse, porque neste é utilizado parseInt

Olá pessoal!

No cálculo do IMC do paciente (em atividade anterior desta aula) não foi utilizado parseFloat (Obs: apesar de estar sendo passada por parâmetro uma variável JS, o valor dela foi atribuído do HTML sem parseFloat)...

function calculaImc(peso, altura) {
    var imc = 0;

    imc = peso / (altura * altura);

    return imc;
}

... porque nesta atividade foi utilizado parseInt?

    // ...
            var convidado = {
                nome:  itens[i].querySelector('.nome').textContent,
                idade: parseInt(itens[i].querySelector('.idade').textContent)
            };
    // ...

Isso levantou outra dúvida: ao atribuir à variáveis do JS números inteiros, decimais, etc provenientes do HTML, o correto é ou não utilizar parseTipo? Porque e / ou qual a diferença (se existir) ?

5 respostas

Se você tem certeza que o resultado é um tipo então você não precisa usar o parse. O autor do código do imc tinha "certeza" que o peso e altura seria númerico então não quis converter.

Se você for pegar algo do HTML e quer converter o tipo para númerico então use parse, se não quiser converter e usar um numero string mesmo (rg ou cpf por exemplo), então não use parse.

Obrigado pelo retorno André.

Então o correto é utilizar parse, ao atribuir algum campo do HTML à uma variável numérica, porque por padrão os campos do HTML são do tipo "string"?

Sim, é uma boa prática.

Olá André e pessoal,

André, obrigado pelo retorno.

Além disso, o que eu gostaria de saber é, ao trazer um número do HTML para uma var no JS, esta var será do tipo número, string ou depende (neste último caso, favor citar exemplos de quando será do tipo número, e de quando será do tipo string) ?

solução!

Se você não der parse no HTML ou num inputbox vai ser sempre string.