Seguindo o estudo do livro: "Lógica de Programação" da editora : Casa do Código.
Foi porposto criar um código onde eu pergunto ao usuário: quantos anos vc tem de diferença da sua irmã?
<meta charset = 'UTF-8'>
<script>
alert('quantos anos vc tem de diferença da sua irmã ?');
let idadeIrma = parseInt(prompt('Primeiro, informe a idade da sua irmã'));
let idadeUser = parseInt(prompt('Agora, informe a sua idade'));
let diferençaIdades = Math.abs(idadeIrma - idadeUser);
let palavraAno = diferençaIdades == 1 ? 'ano' : 'anos';
if(diferençaIdades < 0){
alert(`Vc e sua irmã tem ${diferençaIdades} ${palavraAno} de diferença.`);
}else{
alert(`Vc e sua irmã tem ${diferençaIdades} ${palavraAno} de diferença.`);
}
</script>
a princípio eu estava com problemas, pois usava a string:
let diferençaIdades = (idadeIrma - idadeUser);
quando calculava resultados == -1 , eu tinha um problemas com a palavara "ano", pois ela vinha no plural, tentei a solução:
if(diferençaIdades < 0){
diferençaIdades = diferençaIdades * -1;
alert(`Vc e sua irmã tem ${diferençaIdades} ${palavraAno} de diferença.`);
}
Mas o problema persistiu... Aí me ocorreu que talvez existisse alguma função parecida com 'parseInt' , mas que ao invéz de me retornar números Inteiros ela me retornasse apenas números naturais... com uma rápida pesquisa descobri a função 'Math.abs' , que resolveu meu problema.
fiz a aplicação correta? existe algum outro meio mais eficaz de esse código executar essa mesma tarefa?