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

Concatenação

Insira aqui a descrição dessa imagem para ajudar na acessibilidade imagem do codigo descrito no problema

O resultado do codigo acima é : NaNNaNNaN, não entendi o porque já que os números não estão entre parênteses eles não deveriam ser interpretados como texto e sair um resultado assim: Flávio nasceu em 201639 Joaquim nasceu em 201620 Barney nasceu em 201640 ?

1 resposta
solução!

Oi, Edson! Tudo bem?

O problema ocorre pois na expressão "Flávio nasceu em " + 2016 - 39, por exemplo, o JavaScript primeiro tenta fazer a concatenação e após isso tenta calcular a string concatenada menos o valor numérico 39, o que resulta em NaN (Not a Number), pois não conseguimos realizar essa operação e retornar um valor numérico válido.

Devido a isso, precisamos usar parênteses para garantir que a operação funcione como o esperado, de acordo com o exemplo abaixo:

<meta charset="UTF-8">
<script>
    document.write("Flávio nasceu em " + (2016 - 39));
    document.write("Joaquim nasceu em " + (2016 - 20));
    document.write("Barney nasceu em " + (2016 - 40));
</script>

Com essa modificação, o JavaScript primeiro calcula o valor dentro dos parênteses (por exemplo, 2016 - 39) e depois realiza a concatenação com a string "Flávio nasceu em ", resultando na saída correta, como "Flávio nasceu em 1977".

Espero ter ajudado!

Um forte abraço e bons estudos!