Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

mudança em um trecho do código faz aparecer [object Object] no console

Boa tarde a todos,

Mudando uma parte do código de SistemaImpressão eu mudei o o valor no objeto do javascript, assim:

  nomes.forEach(nome => {
                    console.log(this);
                    console.log(`${this._codigo}: ${this}`);
                });

No console, em lugar do nome, apareceu a seguinte identificação:

2: [object Object]

Eu pensei que apareceria "SistemaImpressao" novamente. Por que aparece "[object Object]"?

3 respostas
solução!

Fala ai Mariana, tudo bem? Isso aconteceu porque seu this é um objeto JavaScript e quando você utilizou ele dentro da template String o JavaScript por baixo dos panos converteu esse objeto para String através do toString.

E por padrão converter um objeto para String vai retornar [object Object].

Para que você consiga imprimir o nome, troque:

console.log(`${this._codigo}: ${this}`);

Para:

console.log(`${this._codigo}: ${nome}`);

Espero ter ajudado.

Tá certo, era só um experimento pra fuçar, mesmo. Obrigada!

Magina, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.