No ultimo exercicio da aula 2 (12 Mãos na Massa: Validando os dados do usuário) ao validar se o peso e altura são validos eh usado o codigo:
if (peso <= 0 || peso > 1000) {
console.log("Peso inválido!");
tdPeso.textContent = "Peso inválido!";
pesoEhValido = false;
}
if (altura <= 0 || altura >= 3) {
console.log("Altura inválida!");
tdAltura.textContent = "Altura inválida!";
alturaEhValida = false;
}
porem, ja haviam sido criadas as var
var altura = tdAltura.textContent;
var peso = tdPeso.textContent;
porem quando uso o codigo
if (peso <= 0 || peso > 1000) {
console.log("Peso inválido!");
peso = "Peso inválido!";
pesoEhValido = false;
}
if (altura <= 0 || altura >= 3) {
console.log("Altura inválida!");
altura = "Altura inválida!";
alturaEhValida = false;
}
as strings "peso invalido" e "altura invalida" são ignorados e o navegador retorna o numero que foi colocado no HTML.
Minha duvida eh sobre o porque o codigo se comportar dessa forma. Lembro da aula de logica de programacao sobre o javascript devolver string, eh esse o caso????