Por que criar uma classe JavaScript?

5

JavaScript é uma linguagem protótipo. Para transformá-lo em uma linguagem baseada em classe adiciona pouco valor? Eu não estou falando sobre a melhor prática aqui. Lembro-me de ter lido um artigo do passado, que afirmava que a cosmovisão baseada em classes é perceptivelmente mais falha do que a dos protótipos. Meu resumo pode ser encontrado aqui: link . Eu estou resistindo a usar o complemento jQuery baseado em classe e outras tentativas de facilitar o JavaScript baseado em classes. A pressão dos colegas é strong, mas existe uma razão teórica ou prática mais strong pela qual eu deveria parar de resistir?

    
por CarneyCode 15.02.2011 / 19:52
fonte

3 respostas

7

Continue resistindo!

JavaScript é bom como é , apenas sofre de alguns mal-entendidos.

  1. Não é Java. Não está nem relacionado. O nome foi escolhido para usar as caudas do casaco de Java e foi bem-sucedido, mas estimulou a ideia de que, de alguma forma, era uma versão leve do Java.
  2. É funcional. Funções são "cidadãos de primeira classe" . Estar confortável com a programação funcional lhe dará uma vantagem sobre o JavaScript.
  3. É baseado em protótipos. Isso significa que você não tem herança clássica, mas isso lhe dá maior flexibilidade para misturar e combinar.
por 16.02.2011 / 17:02
fonte
2

Recentemente, descobri o raciocínio por trás de linguagens orientadas a objetos baseadas em protótipo versus baseadas em classes. Eu sempre pensei que protótipos não fazem sentido, porque mais cedo ou mais tarde você vai descobrir que seus objetos são de alguma forma semelhantes e você pode agrupá-los, criar hierarquias e usar polimorfismo ... Acho que o ponto é entender, que com protótipos, a linguagem em si é mais flexível - você poderia, por exemplo, implementar contratos, programação orientada a aspectos e todos os tipos de metaprogramação muito mais fáceis. Você poderia criar interfaces mais inteligentes, componentes com resolução de dependência e muito mais ... Eu acho que os protótipos são um recurso de linguagem melhor, mas é preciso lembrar que as classes são necessárias e deve haver uma biblioteca para elas.

    
por 16.02.2011 / 11:47
fonte
-2

Você não deve se importar se seu JavaScript é baseado em classe ou protótipo. A questão importante é como tornar seu programa orientado a objetos. Como o DOM desempenha o papel central em websites / aplicativos da web, você poderia se concentrar em tornar o objeto DOM orientado. Veja por exemplo esta demonstração (implementada usando a biblioteca Entwine):

link

    
por 15.02.2011 / 20:10
fonte