Fiquei com uma dúvida em relação a nescessidade do parseInt no último exercício (06).
A quetão pede que "Ao clicar no botão soma, peça 2 números inteiros e exiba o resultado da soma em um alerta."
A função soma() foi definida no index.html para ser executada onclick e descrita da seguinte forma no app.js:
function soma() {
let numero1 = prompt('Insira um número inteiro qualquer:');
let numero2 = prompt('Insira um segundo número inteiro qualquer:');
let somaDosNumeros = numero1 + numero2;
alert(`${numero1} + ${numero2} = ${somaDosNumeros}.`);
}
Entretanto, nos testes, o resuldado final da operação não é o esperado. Por exemplo ao atribuir numero1 = 1 e numero2 = 2 o resultado final é 12. Ou seja o sistema apenas "junta" os dois valores e não realiza a soma deles.
Observando a resolução da questão pelo instrutor fica claro a obrigatoriedade do paseInt no prompt que define as variáveis numero1 e numero2
function soma() {
let numero1 = parseInt(prompt('Digite o primeiro número'));
let numero2 = parseInt(prompt('Digite o segundo número'));
let somaDosNumeros = numero1 + numero2;
alert(`${numero1} + ${numero2} = ${somaDosNumeros}.`);
}
Neste caso o resultado da soma no exempro de 1+ 2 é igual a 3.
Gostaria de entender a nescessidade do parseInt para que a soma ocorra e não a junção dos dois números como no código que escrevi primeiro. O que não faz sentido para mim é que a linha 4 que efetivamente realiza a soma das duas variáveis é a mesma nos dois casos.
Nota: Alterei o nome das variáveis e da função na resolução do instrutor apenas para que sejam as mesmas do código que escrevi para facilitar a comparação entre os dois, sendo a única diferença a utilização do parseInt.
Agradeço disposição todos em ajudar aqui, Obrigado;