자바스크립트의 특징

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
  • 기본 문법은 C, JAVA와 유사하며 Self로 부터 프로토타입 기반 상속을 Scheme으로 부터 일급함수의 개념을 차용
  • 개발자가 별도의 컴파일을 수행하지 않는 인터프리터 언어

    • 모던 자바스크립트 엔진은 인터프리터와 컴파일러의 장점을 합쳐 인터프리터의 단점(비교적 처리속도가 느림)을 해결
    • 전통적인 컴파일러와 같은 컴파일 과정을 거치지는 않지만 복잡한 과정을 통해 일부 소스코드를 컴파일하고 실행
  • 자바스크립트는 명령형, 함수형, 프로토 타입 기반 객체 지향을 지원하는 멀티 패러다임 프로그래밍 언어

인터프리터와 컴파일러

컴파일러 인터프리터
컴파일 단계에 소스코드 전체를
한번에 머신코드로 변환한 후 실행
런타임에 문 단위로 한줄 씩
중간코드인 바이트 코드로 변환 한 후 실행
실행파일을 생성함 실행파일을 생성하지 않음
컴파일 단계와 실행단계가 분리되어 있음
명시적인 컴파일 단계 이후 명시적으로 실행파일을 실행
인터프리트 단계와 실행단계가 분리되어있지 않음
인터프리터는 한 줄씩 바이트 코드로 변환하고 즉시실행
실행에 앞서 컴파일은 단 한 번만 수행 코드가 실행될 때 마다 인터프리트 과정이 반복 수행됨
실행속도가 빠름 실행속도가 느림