2012-01-25 7 views
2

저는 스칼라를 처음 사용하면서도 많은 수의 구문과 기능으로이 언어를 탐구하고 있습니다. 길을가는 중 클래스 생성자의 구문은 JavaScript의 생성자 함수와 많이 비슷합니다.JavaScript 생성자 함수와 스칼라 생성자의 차이점은 무엇입니까?

누구나 유사점과 차이점을 지적 할 수 있습니까?

+1

JavaScript의 "생성자"기능은 임시 설정이며 스칼라의 생성자 기능은 의도적 인 언어 기능입니다. –

답변

5

이 경우 Javascript와 Scala를 비교하는 것이 정확하지 않다고 생각합니다. Javascript는 프로토 타입 기반이며 동적으로 형식화되며 스칼라에는 정적 형식이 지정되며 고전 상속 모델 (특성을 통한 다중 상속)이 있습니다.

두 언어의 유사성 생성자는 클래스의 새 인스턴스를 초기화하는 데 사용됩니다. 다른 하나는 구문, 구현, 뉘앙스입니다. 스칼라는 JS에서 스칼라의 생성자의 매개 변수 인 JS에서 클래스 대신 제공되는 대체 컨스트럭터를 가지고있다. 이것은 new 연산자 등으로 호출되는 함수이다.

자바가 아니라 자바 스크립트 일까?

+0

두 언어를 전혀 비교하지 않습니다. JS는 다른 전통적인 객체 지향 언어와 많이 다릅니다. 또는 새 것입니다. 내가 찾고 있던 것은 차이점과 같았습니다. 유사점을 찾는 내 방식은 두 경우 모두에서 params를 수락하고 모든 멤버 함수에서 params를 사용하는 구조가 있다는 사실에서 기인합니다. JS는 hv 클래스가 아니며 스칼라의 생성자는 클래스 정의에 혼합되어 동일하게 보이게합니다. –

+2

실제로 혼합 된 생성자는 간결성을위한 구문 설탕입니다. 그것은 별도의 방법으로 취급됩니다. – dmitry

관련 문제