Étant donné que de nombreux langages de programmation dynamiques ont la caractéristique de taper du canard , et ils peuvent également ouvrir et modifier des méthodes de classe ou d'instance à tout moment (comme Ruby et Python ), alors…
Question 1) Quel est le besoin d'une classe dans une langue dynamique? Pourquoi le langage est-il conçu de cette façon pour utiliser une classe comme une sorte de «modèle» au lieu de le faire de la manière prototype et d'utiliser simplement un objet?
JavaScript est également basé sur des prototypes, mais CoffeeScript (la version améliorée de JavaScript) choisit la méthode basée sur les classes. Et il en va de même pour Lua (basé sur des prototypes) et MoonScript (basé sur des classes). De plus, il y a de la classe dans ES 6. Donc…
Question 2) Cela suggère-t-il que si vous essayez d'améliorer un langage basé sur des prototypes, entre autres, vous devriez le changer en classe? Sinon, pourquoi est-il conçu de cette façon?
class
mot - clé à partir de la prochaine norme ECMAScript (ECMAScript 6). La prise en charge des classes en JavaScript est prévue depuis longtemps. Maintenant pour ce que c'est - les classes ne sont que du sucre syntaxique, un raisonnement plus facile sur le modèle pour les objets du même type. C'est comme ça en JS et c'est comme ça en Python et dans d'autres langages dynamiques.