Vì khá nhiều ngôn ngữ lập trình động có tính năng gõ vịt và chúng cũng có thể mở và sửa đổi các phương thức lớp hoặc cá thể bất cứ lúc nào (như Ruby và Python ), sau đó
Câu hỏi 1) Điều gì cần cho một lớp học trong một ngôn ngữ động? Tại sao ngôn ngữ được thiết kế theo cách đó để sử dụng một lớp như một loại mẫu của bản thân Thay vì làm theo kiểu nguyên mẫu và chỉ sử dụng một đối tượng?
Ngoài ra JavaScript là dựa trên nguyên mẫu, nhưng CoffeeScript (phiên bản nâng cao của JavaScript) chọn cách dựa trên lớp. Và nó cũng tương tự đối với Lua (dựa trên nguyên mẫu) và MoonScript (dựa trên lớp). Ngoài ra, còn có lớp ES.
Câu hỏi 2) Có gợi ý rằng nếu bạn cố gắng cải thiện ngôn ngữ dựa trên nguyên mẫu, trong số những thứ khác, bạn nên thay đổi nó thành dựa trên lớp không? Nếu không, tại sao nó được thiết kế theo cách đó?
class
từ khóa theo tiêu chuẩn ECMAScript tiếp theo (ECMAScript 6). Hỗ trợ cho các lớp trong JavaScript đã được lên kế hoạch từ lâu. Bây giờ với những gì nó là - các lớp chỉ là đường cú pháp, một lý do dễ dàng hơn về mô hình cho các đối tượng cùng loại. Đó là cách này trong JS và nó là cách này trong Python và các ngôn ngữ động khác.