Aqui diz "usamos o objeto User como protótipo", mas "User" é a função construtora e não objeto, né? Está incorreto isso?
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!