자바스크립트의 특징
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 기본 문법은 C, JAVA와 유사하며 Self로 부터 프로토타입 기반 상속을 Scheme으로 부터 일급함수의 개념을 차용
-
개발자가 별도의 컴파일을 수행하지 않는 인터프리터 언어
- 모던 자바스크립트 엔진은 인터프리터와 컴파일러의 장점을 합쳐 인터프리터의 단점(비교적 처리속도가 느림)을 해결
- 전통적인 컴파일러와 같은 컴파일 과정을 거치지는 않지만 복잡한 과정을 통해 일부 소스코드를 컴파일하고 실행
- 자바스크립트는 명령형, 함수형, 프로토 타입 기반 객체 지향을 지원하는 멀티 패러다임 프로그래밍 언어
인터프리터와 컴파일러
컴파일러 | 인터프리터 |
---|---|
컴파일 단계에 소스코드 전체를 한번에 머신코드로 변환한 후 실행 |
런타임에 문 단위로 한줄 씩 중간코드인 바이트 코드로 변환 한 후 실행 |
실행파일을 생성함 | 실행파일을 생성하지 않음 |
컴파일 단계와 실행단계가 분리되어 있음 명시적인 컴파일 단계 이후 명시적으로 실행파일을 실행 |
인터프리트 단계와 실행단계가 분리되어있지 않음 인터프리터는 한 줄씩 바이트 코드로 변환하고 즉시실행 |
실행에 앞서 컴파일은 단 한 번만 수행 | 코드가 실행될 때 마다 인터프리트 과정이 반복 수행됨 |
실행속도가 빠름 | 실행속도가 느림 |