Sei que os números negativos não são o foco do estudo, porém quando faço a verificação no meu código pelo Chrome e digo um número negativo o Js transforma ele em uma string e não número. Alguém sabe me dizer por que isso acontece?
Sei que os números negativos não são o foco do estudo, porém quando faço a verificação no meu código pelo Chrome e digo um número negativo o Js transforma ele em uma string e não número. Alguém sabe me dizer por que isso acontece?
uma forma de arrumar isso é usando parseInt() na alura tem um artigo que fala sobre isso https://www.alura.com.br/artigos/convertendo-string-para-numero-em-javascript
E em que trecho do código nós colocamos o parseInt para que isso funcione? Testei na declaração da variável numero e ela continuou se comportando da mesma forma:
function verificaSeOChutePossuiUmValorValido(chute) {
const numero = parseInt(+chute);
if (chuteForInvalido(numero)) {
console.log("Valor inválido");
}
if (numeroForMaiorOuMenorQueOValorPermitido(numero)) {
console.log(`Valor inválido: o número secreto precisa estar entre ${menorValor} e ${maiorValor}`);
}
}
function chuteForInvalido(numero) {
return Number.isNaN(numero);
}
function numeroForMaiorOuMenorQueOValorPermitido(numero) {
return numero > maiorValor || numero < menorValor
}