1
resposta

uma duvida sobre a sintaxe

no arquivo new.js não foi necessário mencionar prototype na antes do método isPrototypeOf(),

console.log(user.isPrototypeOf(novoUser))

e no arquivo User.js é necessário mencionar o prototype antes do método isPrototypeOf(),

console.log(User.prototype.isPrototypeOf(novoUser))

caso contrário o resultado seria false (eu testei haha), mas para mim não ficou claro o porquê gostaria de entender.

1 resposta

Olá Danilo, tudo bem?

Desde já peço desculpa pela demora para responder o seu tópico.

Entendo sua dúvida sobre a sintaxe do método isPrototypeOf(). Na verdade, a diferença está na forma como o método é chamado em cada arquivo.

No arquivo new.js, o método é chamado diretamente a partir do objeto user, que é uma instância de User. Isso acontece porque o objeto user já herda as propriedades e métodos do seu protótipo User.prototype, incluindo o método isPrototypeOf(). Por isso, não é necessário mencionar o prototype antes do método.

Já no arquivo User.js, o método é chamado a partir do protótipo User.prototype, que é a classe pai de todas as instâncias de User. Por isso, é necessário mencionar o prototype antes do método.

Espero ter esclarecido sua dúvida! Se ainda tiver alguma pergunta, é só falar.

Bons estudos!

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