기존의 JavaScript는 웹 브라우저에서 요소들의 동적인 기능을 위해 개발되어 브라우저에서만 사용이 가능하였다. 하지만 JavaScript를 구동하는 엔진을
사용하여 브라우저가 아닌 로컬, 서버 등 다양한 영역에서 사용할 수 있도록 확장성을 부여하였다. 이를 Node.js라고 한다.
크로스플랫폼 오픈소스 JavaScript 런타임 환경
즉, V8 JavaScript 엔진으로 구동되며, 웹 브라우저 바깥에서 자바스크립트 코드를 실행 가능
공식 사이트 - Node.js 정의
1-1. JavaScript 엔진
JavaScript 엔진은 JavaScript 코드를 실행하는 소프트웨어 구성 요소로서 초기에는 단순한 Interpreter였으나, 최신 엔진은 성능 향상을 위해 Just-In-Time 컴파일을 사용함
브라우저
엔진
크롬
V8
파이어폭스
SpiderMonkey
사파리
JavascriptCore
…
…
<브라우저 별 엔진>
- Interpreter
Interpreter는 한 줄씩 번역 및 분석
속도 측면에서 매우 느림
High Level Language(고급언어) --> Interpreter --> Output(결과)