Ponieważ dość wiele dynamicznych języków programowania ma funkcję pisania kaczego , mogą też w dowolnym momencie otwierać i modyfikować metody klas lub instancji (takie jak Ruby i Python ), a następnie…
Pytanie 1) Jaka jest potrzeba zajęć w dynamicznym języku? Dlaczego język jest zaprojektowany w taki sposób, aby używać klasy jako pewnego rodzaju „szablonu” zamiast robić to prototypowo i po prostu używać obiektu?
JavaScript jest również oparty na prototypach, ale CoffeeScript (ulepszona wersja JavaScript) wybiera sposób oparty na klasach. Podobnie jest w przypadku Lua (oparty na prototypach) i MoonScript (oparty na klasach). Ponadto istnieje klasa w ES 6. Więc…
Pytanie 2) Czy sugeruje to, że jeśli spróbujesz ulepszyć język oparty na prototypach, między innymi powinieneś zmienić go na oparty na klasach? Jeśli nie, dlaczego jest tak zaprojektowany?
class
słowo kluczowe od następnego standardu ECMAScript (ECMAScript 6). Obsługa klas w JavaScript była planowana od dłuższego czasu. Teraz to, co to jest - klasy to po prostu cukier składniowy, łatwiejszy do uzasadnienia na temat modelu dla obiektów tego samego typu. Tak jest w JS i tak jest w Pythonie i innych dynamicznych językach.