책 모던 자바스크립트 Deep Dive 내용을 정리했습니다.
JavaScript는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는
유일한 프로그래밍 언어이다.
Interpreter Language. 대부분의 모던 자바스크립트 엔진(V8, SpiderMonkey, JavaScript Core etc.)은 인터프리터와 컴파일러의 장점을 결합해 비교적 처리 속도가 느린 인터프리터의 단점을 해결했다.
인터프리터는 소스코드를 즉시 실행하고 컴파일러는 빠르게 동작하는 머신 코드를 생성하고 최적화한다. 이를 통해 컴파일 단계에서 추가적인 시간이 필요함에도 더욱 빠르게 코드를 실행할 수 있다.
컴파일러 언어 | 인터프리터 언어 |
---|---|
실행 전 한 번에 수행 | 런타임에 한 줄씩 실행 |
실행 파일을 생성 | 실행 파일을 생성 X |
명시적으로 컴파일 단계와 실행단계 분리 | 인터프리트 단계와 실행 단계가 분리되어 있지 않음 |
실행에 앞서 컴파일 단 한 번 수행 | 코드가 실행될 때마다 반복 수행 |
속도가 빠르다. | 비교적 느리다. |