Dato che molti linguaggi di programmazione dinamici hanno la caratteristica della tipizzazione duck , e possono anche aprire e modificare metodi di classe o istanza in qualsiasi momento (come Ruby e Python ), quindi ...
Domanda 1) Qual è la necessità di una lezione in un linguaggio dinamico? Perché il linguaggio è progettato in questo modo per usare una classe come una sorta di "modello" invece di farlo come prototipo e semplicemente usare un oggetto?
Anche JavaScript è basato sul prototipo, ma CoffeeScript (la versione avanzata di JavaScript) sceglie il modo basato sulla classe. E lo stesso vale per Lua (basato su prototipo) e MoonScript (basato su classe). Inoltre, c'è classe in ES 6. Quindi ...
Domanda 2) Sta suggerendo che se si tenta di migliorare un linguaggio basato su prototipo, tra le altre cose, è necessario modificarlo in classe? In caso contrario, perché è progettato in questo modo?
class
parola chiave a partire dal prossimo standard ECMAScript (ECMAScript 6). Il supporto per le lezioni in JavaScript è pianificato da molto tempo. Ora per quello che è: le classi sono solo zucchero sintattico, un motivo più facile da ragionare sul modello per oggetti dello stesso tipo. È così in JS ed è così in Python e in altri linguaggi dinamici.