Quando comecei a programar o Javascript depois de lidar principalmente com OOP no contexto de linguagens baseadas em classes, fiquei confuso sobre o motivo pelo qual a OOP baseada em protótipo seria preferida à OOP baseada em classe.
- Quais são as vantagens estruturais do uso de OOP baseado em protótipo, se houver? (por exemplo, esperamos que seja mais rápido ou menos intensivo em memória em certos aplicativos?)
- Quais são as vantagens da perspectiva de um codificador? (por exemplo, é mais fácil codificar certos aplicativos ou estender o código de outras pessoas usando a criação de protótipos?)
Por favor, não olhe para esta pergunta como uma pergunta sobre Javascript em particular (que teve muitas falhas ao longo dos anos que não têm nenhuma relação com a prototipagem). Em vez disso, observe-o no contexto das vantagens teóricas da prototipagem versus classes.
Obrigado.