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

retorno diferente do esperado

olá,

eu fiz uma chamada do objeto dessa forma:

console.log(`Todas as propriedades do objeto:\n ${pessoa}`);

interessante foi que retornou isso: Todas as propriedades do objeto: [object Object]

no vídeo-aula o instrutor faz: console.log(pessoa);

dessa maneira retorna o que é esperado:

{
  nome: 'Luma de Oliveira',
  profissao: 'Engenheira',
  telefone: '35 32221-3333'
}

fiquei curioso para saber a diferença dessas chamadas do objeto e como deveria ficar no caso de usar Template Strings.

1 resposta
solução!

Olá, tudo bem com você?

Quando você utiliza a interpolação de strings com o objeto, o JavaScript tenta converter o objeto em uma string. Como o objeto não pode ser convertido diretamente em uma string, o resultado é a string "[object Object]".

Já quando você utiliza o console.log diretamente com o objeto, ele é exibido de forma correta, pois o console.log é capaz de exibir objetos.

Para exibir todas as propriedades do objeto utilizando a interpolação de strings, você pode utilizar o método JSON.stringify. Por exemplo:

console.log(`Todas as propriedades do objeto:\n ${JSON.stringify(pessoa)}`);

Assim, o objeto será convertido em uma string e exibido corretamente.

Espero ter conseguido esclarecer a sua pergunta. Caso ainda tenha mais alguma dúvida com relação a este tópico, estarei à disposição.

Grande abraço e bons estudos!

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