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

Dúvida no Ex. 2 da Aula 5 - Como repetir tarefas do programa?

boa tarde , fiquei com uma duvida : no exercício está assim:

var anofinal= prompt("Qual o ano limite?");

e eu testei desse jeito também:

var anofinal= parseInt(prompt("Qual o ano limite?"));

Deu certo nos dois testes . Queria entender porque deu certo sem parseInt() , sabendo que no final do código vou comprara essa entrada do usuário(texto,Ex=2015) com um numero .

Código:

4 respostas

Jader, Bom dia !

quando utilizamos um prompt , ele retorna uma String para você .

ao utilizar o parseInt , ele está pegando essa String e transformando ela em um tipo numérico inteiro .

quando você faz sem o parseInt , O JavaScript entende que o o texto que você entrou é numérico , exemplo 2015 . e faz a comparação .

espero ter ajudado .

Bom dia , obrigado pela resposta . Eu fiz um teste aqui tirando todos os parse.int. o que não entendi é que Quando ele faz essa conta :

ano(Ex=2000)+4 a resposta é 20004 , 200044 etc

Ou seja, ele concatena não entende como numero e sim texto .Mas quando falar para, por exemplo ,ele ver (ano<2015 ) , ele compara certinho .

Então pelo que pude observar as conta matemática não funcionam sem transformar para inteiro , mas comparações de maior ou igual funcionam .

Então este tipo de operação <,>,==, não seriam operações matemáticas ?

solução!

Jader ,

isso para o calculo , é necessário transformar em numérico , pois se não irá concatenar , porem para comparação é possivel ele comparar com o número .

é como se comparasse o conteúdo da variável . e os operador não é apenas matemático esses operadores são de comparação .

inclui ainda ! negação . que no caso podemos utilizar != que equivale ao diferente

entendi ! Obrigado