Оскільки досить багато динамічних мов програмування мають особливості введення качок , і вони також можуть відкривати та змінювати методи класу чи екземпляра в будь-який час (наприклад, Ruby та Python ), то…
Запитання 1) Яка потреба в класі динамічної мови? Чому мова створена таким чином, щоб використовувати клас як якийсь "шаблон", а не робити це по прототипу і просто використовувати об'єкт?
Також JavaScript заснований на прототипі, але CoffeeScript (розширена версія JavaScript) обирає класний спосіб. І так само для Lua (на основі прототипу) та MoonScript (на основі класу). Крім того, є клас у ES 6. Отже…
Запитання 2) Чи передбачає, що якщо ви намагаєтеся вдосконалити мову, засновану на прототипі, серед іншого, ви повинні змінити її на основі класу? Якщо ні, то чому він створений саме так?
class
ключове слово з наступного стандарту ECMAScript (ECMAScript 6). Підтримка занять у JavaScript планувалася давно. Тепер, що це таке - класи - це просто синтаксичний цукор, простіше міркувати про модель для предметів одного типу. Це так у JS, і так в Python та інших динамічних мовах.