많은 동적 프로그래밍 언어가 오리 타이핑 기능을 가지고 있기 때문에 언제라도 루비 나 파이썬 과 같은 클래스 나 인스턴스 메소드를 열고 수정할 수 있습니다 .
질문 1) 역동적 인 언어로 수업이 필요합니까? 왜 언어가 클래스를 프로토 타입 방식 대신 일종의 "템플릿"으로 사용하고 객체 만 사용하도록 설계 되었습니까?
또한 JavaScript 는 프로토 타입 기반이지만 CoffeeScript (향상된 JavaScript 버전)는 클래스 기반 방식을 선택합니다. 그리고 그것은에 대해 동일한가는 루아 (프로토 타입 기반) 및 MoonScript (클래스 기반). 또한 ES 6에는 수업이 있습니다.
질문 2) 프로토 타입 기반 언어를 개선하려고 할 때 무엇보다도 클래스 기반 언어로 변경해야한다고 제안하고 있습니까? 그렇지 않다면 왜 그렇게 설계 되었습니까?
class
다음 ECMAScript 표준 (ECMAScript 6) 에서 키워드를 지원합니다 . JavaScript에서 클래스에 대한 지원은 오랫동안 계획되었습니다. 이제 클래스는 구문 설탕 일 뿐이며 같은 유형의 객체에 대한 모델을 추론하기가 더 쉽습니다. JS에서는 이런 식이고 파이썬이나 다른 동적 언어에서는 이런 식입니다.