Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Diferença entre "+" e "parseInt"

Descobri que tem como converter strings numéricas em integers no último desafio utilizando sinal "+", além do já conhecido "parseInt", mas ao testar a diferença executando o código, não vi diferença no resultado. Vou mostrar o código abaixo:

function fazerSoma() {
    // let valor1 = +prompt('Insira o valor 1:');
    // let valor2 = +prompt('Insira o valor 2:');
    let valor1 = parseInt(prompt('Insira o valor 1:'));
    let valor2 = parseInt(prompt('Insira o valor 2:'));

    let soma = valor1 + valor2;
    alert(`${valor1} + ${valor2} é igual a ${soma}`)
}

Ambos funcionam e ambos se eu utilizo strings de letras retornam NaN, então eu gostaria de saber qual é a diferença desses dois e quando é melhor utilizar um ou outro.

Desde já grata pela resposta!

1 resposta
solução!

Olá, tudo bem?

O operador "+" realiza basicamente a mesma função que o Number() para converter uma string em número durante conversões rápidas. No entanto, se houver qualquer letra na string que está sendo convertida, o resultado será NaN, ou seja, "Not a Number".

O uso do "parseInt" é apropriado quando se deseja converter o valor para um número inteiro (daí o "Int" de inteiro). Isso é útil, por exemplo, ao gerar números aleatórios, como no caso do curso que utiliza, por exemplo, parseInt(Math.random() * 10 + 1). Essa abordagem permite obter apenas a parte inteira do número. Além disso, ao utilizar o parseInt, você também tem acesso ao segundo parâmetro, que permite mudar a base numérica de 10 para a base desejada, como a hexadecimal, por exemplo. Abaixo, segue um exemplo prático:

const numeroRandomComSinal = +Math.random() * 10 + 1;
const numeroRandomComNumber = Number(Math.random() * 10 + 1);
const numeroRandomComParseInt = parseInt(Math.random() * 10 + 1);

console.log(`${numeroRandomComSinal} \n`);
console.log(`${numeroRandomComNumber} \n`);
console.log(`${numeroRandomComParseInt} \n`);

Particularmente, eu costumo usar o operador "+" para conversões e o parseInt em algumas situações, como, por exemplo, na criação de IDs aleatórios para testes.

Bons estudos para nós!!