2
respostas

[Sugestão] Problema e solução do desafio 5

Eu resolvi fazer o exercício 5 de uma outra forma, pedindo para que o usuário inserisse os valores, e o JavaScript iria retornar a soma daqueles dois valores no console. Eis o código abaixo:

    let valor1 = prompt("Insira um valor desejado:")
    let valor2 = prompt("Insira um valor desejado:")
    let resultado = valor1 + valor2
    console.log(`A soma de ${valor1} e ${valor2} é igual a ${resultado}.`)

Imaginei que ao inserir os dois números, por exemplo, 5 e 9, respectivamente, o console me retornaria a soma deles, no caso 14. No entanto, não foi o que aconteceu. O console na verdade me retornou: A soma de 5 e 9 é igual a 59.

O que aconteceu é que o Javascript reconheceu os números como strings e apenas os uniu, gerando um outro número.

A solução que eu encontrei foi usar Type Coersion (eu ja havia estudado Javascript antes e acabei tendo que procurar, pois eu sabia que isso existia. Ou seja, eu lembrei disso mas não lembrava como se usava). Basicamente, eu forcei o javascript a converter os valores inseridos de strings para números usando o Number() antes dois prompts. Portanto, o código ficou assim:

    let valor1 = Number(prompt("Insira um valor desejado:"))
    let valor2 = Number(prompt("Insira um valor desejado:"))
    let resultado = valor1 + valor2
    console.log(`A soma de ${valor1} e ${valor2} é igual a ${resultado}.`)

Agora sim, o console me retornou o que estava esperando desde o início: A soma de 5 e 9 é igual a 14.

Fica a dica pra galera!

2 respostas

Perfeito!!!! Sempre tem alguém que tem uma visão melhor da coisa. Parabéns

Eu percebi também, é legal replicar o conhecimento, top....