Olá, Carlos!
Sobre sua dúvida, isso acontece porque o prompt retorna um valor do tipo string (texto). Quando você usa o operador + entre duas strings, o JavaScript as concatena em vez de somar.
Veja um exemplo sem parseInt
:
let numero1 = prompt("Digite um número:");
let numero2 = prompt("Digite outro número:");
alert(`O resultado é: ${numero1 + numero2}`);
Se você digitar 1 e 1, a saída será "11" (concatenação).
Para somar corretamente, precisamos converter as entradas para número usando parseInt()
ou Number()
:
let numero1 = parseInt(prompt("Digite um número:"));
let numero2 = parseInt(prompt("Digite outro número:"));
alert(`O resultado é: ${numero1 + numero2}`);
Agora, ao digitar 1 e 1, a saída será 2.
Se precisar lidar com números decimais, use parseFloat()
em vez de parseInt()
.
Fico à disposição. Abraços e bons estudos.