1
resposta

[Dúvida] Questão 01 do desafio - usar ou não usar o método join()?

"Crie uma função chamada mostrarInfoPessoa que aceite o objeto pessoa como parâmetro e imprima todas as informações da pessoa no console, incluindo o tipo de dado de cada propriedade.

No final do arquivo infoPessoa.js, chame a função mostrarInfoPessoa passando o objeto pessoa como argumento.

Dica: você pode usar um método de array para retirar os elementos dos colchetes e exibi-los como texto."

Minha função:

function mostrarInforPessoa(pessoa) { console.log(Nome: ${pessoa.nome}, tipo: ${typeof(pessoa.nome)};); console.log(Idade: ${pessoa.idade}, tipo: ${typeof(pessoa.idade)};); console.log(Solteiro? ${pessoa.solteiro}, tipo: ${typeof(pessoa.solteiro)};); // console.log(Hobbies: ${pessoa.hobbies.join(", ")} (Tipo: ${typeof pessoa.hobbies})); essa foi a resolução do professor, usando o método join() console.log(Hobbies: ${pessoa.hobbies}, tipo: ${typeof(pessoa.hobbies)};); }

Pergunta: Eu não usei o método join, pois a resposta no console, bem como o typeOf corresponderam com o que fora pedido na questão, daí questiono sobre a necessidade ou não de usar o método .join nesse caso.

Vlw

1 resposta

Oii, Willian! Tudo bem contigo?

O uso do join() é recomendado por questões de formatação e legibilidade do resultado final.

Quando você usa console.log(Hobbies: ${pessoa.hobbies}, tipo: ${typeof(pessoa.hobbies)};);, o resultado no console para a propriedade hobbies que é um array, acontece porque ao imprimir um array diretamente, os elementos são convertidos para string e concatenados com vírgula, mas ainda dentro da representação de array.

Ao utilizar o join(", "), como no exemplo do professor, o resultado é Hobbies: correr, nadar, ler, tipo: object. Aqui, o array é explicitamente convertido em uma string única com os elementos separados por vírgula e espaço, que é mais legível e claro para quem lê o output.

Se outra dúvida surgir, estamos aqui no fórum para te ajudar. :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.