ETAPA 03 / 05
Converter textos em números
Explicar por que somar textos pode produzir um resultado diferente de somar números.
Compreenda o conceito
O texto "5" e o número 5 parecem semelhantes, mas têm tipos diferentes. Quando um dos valores de uma soma é texto, o operador + pode concatenar: juntar as partes em um novo texto.
Number("5") converte o texto numérico em número. Assim, Number("5") + 10 resulta em 15; já "5" + 10 resulta no texto "510".
Na apostila, prompt() recebe uma resposta como texto, ou null quando a pessoa cancela. Aqui usamos entradas fixas para estudar a conversão. Converter não substitui validar: texto não numérico pode resultar em NaN, e entrada vazia ou null pode virar 0. Um programa real precisa tratar esses casos.
Observe o exemplo
JAVASCRIPT · LEITURA DE CÓDIGOlet entrada = "5";
let numero = Number(entrada);
console.log(numero + 10);15
entrada contém texto. numero recebe o número 5 após a conversão. A soma passa a ser uma operação numérica.
Sua vez de pensar
console.log("2" + "3");
console.log(Number("2") + Number("3"));PEQUENO DESAFIO
Leve a ideia um passo adiante.
A variável idadeTexto contém "16". Calcule a idade daqui a cinco anos. Use uma variável para a conversão e outra para a idade futura. Por que somar diretamente daria errado?
Tente resolver no papel antes de abrir a explicação.
Conferir solução comentada
let idadeTexto = "16";
let idade = Number(idadeTexto);
let idadeFutura = idade + 5;
console.log(idadeFutura);O resultado é 21. Sem converter, "16" + 5 produziria "165". A entrada deste desafio é conhecida e válida; lidar com entradas inválidas é um passo posterior.
Referência: Programação 1, páginas 9–14 (seção 03).
Marque quando terminar a leitura e a prática desta etapa.