Da viele dynamische Programmiersprachen die Funktion " Duck Typing" haben und außerdem jederzeit Klassen- oder Instanzmethoden (wie Ruby und Python ) öffnen und ändern können ,…
Frage 1) Was ist für eine Klasse in einer dynamischen Sprache erforderlich? Warum ist die Sprache so konzipiert, dass eine Klasse als eine Art „Vorlage“ verwendet wird, anstatt wie ein Prototyp und nur mit einem Objekt?
Auch JavaScript basiert auf Prototypen, aber CoffeeScript (die erweiterte Version von JavaScript) wählt den klassenbasierten Weg. Dies gilt auch für Lua (basierend auf Prototypen) und MoonScript (basierend auf Klassen). Darüber hinaus gibt es Klasse in ES 6. Also ...
Frage 2) Schlägt es vor, dass Sie, wenn Sie unter anderem versuchen, eine prototypbasierte Sprache zu verbessern, diese in eine klassenbasierte Sprache ändern sollten? Wenn nicht, warum ist es so gestaltet?
class
Schlüsselwort ab dem nächsten ECMAScript-Standard (ECMAScript 6). Die Unterstützung von JavaScript-Klassen ist seit langem geplant. Nun, was es ist - Klassen sind nur syntaktischer Zucker, was das Nachdenken über Modelle für Objekte des gleichen Typs erleichtert. Dies ist in JS und in Python und anderen dynamischen Sprachen der Fall.