Aqui diz "usamos o objeto User como protótipo", mas "User" é a função construtora e não objeto, né? Está incorreto isso?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Aqui diz "usamos o objeto User como protótipo", mas "User" é a função construtora e não objeto, né? Está incorreto isso?
Oi, dev! Tudo bem?
No trecho, a expressão "usamos o objeto User como protótipo" pode realmente causar confusão, mas na verdade, User é uma função construtora, e o que está sendo usado como protótipo é o objeto User.prototype.
Quando você define uma função construtora, o JavaScript cria um objeto prototype associado a essa função e é esse objeto prototype que é utilizado como protótipo para outros objetos, permitindo que eles herdem métodos e propriedades.
No código que você está analisando, o Object.create(User.prototype) é usado para criar um novo objeto que herda de User.prototype, e não da função User em si.
Espero ter ajudado!
Um forte abraço e bons estudos!