<b> __proto__ </b>
__proto__ é o objeto real usado na cadeia de pesquisa para resolver métodos. É uma propriedade que todos os objetos possuem. Esta é a propriedade que é usada pelo mecanismo JavaScript para herança. De acordo com as especificações ECMA, deve ser uma propriedade interna, no entanto, a maioria dos fornecedores permite que seja acessado e modificado.
<b> protótipo </b>
protótipo é uma propriedade pertencente apenas a funções. É usado para construir __proto__ quando a função é usada como um construtor com a palavra-chave <i> new </i>
Em linguagens orientadas a objetos baseadas em protótipos como Self e Javascript, cada objeto no sistema tem um campo que diz “se eu não tenho uma propriedade ou método que me é solicitado, vá para o objeto que este campo faz referência a meu <i > protótipo </i> e procure por ele “. Como esse objeto também terá esse campo “protótipo”, isso se torna um processo recursivo. É o que se entende por <i> cadeia de protótipo. </i> Observe que isso significa que em uma linguagem de protótipo, não há conceito abstrato de uma “classe”
<b> Mais informações </b>