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

Qual o significado de Prototype em JS?

ele ainda e usado no ECMAScript 6? e qual a funcionalidade dele? percebo que em alguns objetos printados no console existe uma palavra prop e também já vi em alguns códigos objeto.protype, desde já agradeço pela explicação

4 respostas

Oi Alisson, o Prototype no básico é um objeto implícito que está disponível para todas as funções construtoras do Javascript. Na real, é um atributo da função Object, de onde as funções herdam.

Mesmo na ES6, sim, ele ainda existe por que, caso não, as aplicações em javascript parariam de funcionar.

Diretamente, pouco se é usado o prototype hoje em dia, é mais comum de se ver isso em códigos ES5... O ES6 ainda usa, porém, isso é abstraído do nosso código. Lembre-se, o código ES6 por mais que ainda pareça muito diferente do ES5, o funcionamento base por baixo dos panos é praticamente o mesmo.

Vou deixar o link aqui pra você se aprofundar mais: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype

A funcionalidade dele basicamente é compartilhar funções e propriedades de forma a não duplicar essas coisas em vários objetos do código. É muito utilizado para herança e compartilhamento de dados e comportamento entre objetos.

solução!

Completando a resposta do Wanderson, quando você usa extends para herdar de outra classe na verdade o interpretador esta utilizando por debaixo dos panos prototype. A sintaxe extends é apenas um açúcar sintático para ela.

Sobre o __proto__ você deve ignorá-lo. Não faz parte da especificação e a forma para você descobrir o prototype de uma instância é através de Object.getPrototypeOf(Object). É mais verboso, mas é a maneira especificada.

Sucesso e bom estudo meu aluno!

Muito obrigado Wanderson e Prof. Flavio pelo tempo e pela excelente resposta :)

Alison, quando fizer sentido, marca sempre o post que resolveu sua dúvida como solução, assim a gente sabe que foi efetivo na resposta e facilita outros alunos irem direto para a solução do problema. Tá bem?

Abraço!