A colega Gabriela Alvarenga Arouca de Siqueira (9.3k xp, 5 posts), fez a seguinte pergunta, marcada como solucionada: "Oi pessoal, tudo bem? Na aula que estou vendo, o professor diz que é uma boa prática aplicar o parseInt antes do comando prompt quando a chave de entrada for um número. Contudo, se não usarmos o comando, teremos uma concatenação de qualquer forma. Por isso me surgiu a dúvida, sabem me dizer se tem uma outra forma de fazer isso sem o uso desse comando?"
Durante a aula o prof Flávio falou/mostrou que "*" e "/" fazem a conversão da string numerada em número, então tive a idéia de multiplicar ou dividir a variável capturada pelo prompt, pelo elemento neutro, ficando da seguinte maneira:
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var convidados = prompt("Número de convidados")
convidados = convidados*1;
var vips = prompt("Número de convidados VIP's")
vips = vips/1; //» jeito alternativo de converter para inteiro sem usar a função"parseInt"
/*
var convidados = parseInt(prompt("Número de convidados"));
var vips = parseInt(prompt("Número de convidados VIP's"));
*/
var total = convidados + vips;
mostra("O total de convidados é " + total);
</script>
<!
21dez20
>
Isso ilustra um jeito alternativo de fazer a conversão para inteiro, respondendo à curiosidade da Gabriela. Testei para float e também deu certo. Minha dúvida é se há algum ganho de velocidade de processamento ao se fazer economia de funções, como foi feito aqui, fazendo desnecessário o "parseInt". Claro que num programa pequeno e simples como esse, a diferença, provavelmente deve ser irrelevante, por isso minha dúvida é considerando um programa bem maior e complexo; se esta "conversão indireta" representa algum ganho.
(1k9, 280)