
자바스크립트 엔진Backend/Node.js2024. 12. 5. 22:42
Table of Contents
728x90
반응형
- Node.js란?
Node.js란, Chrome V8 자바스크립트 엔진으로 만들어진 자바스크립트 런타임을 일컷는다.
- 자바스크립트 엔진이란?
자바스크립트는 이미 자바스크립트 엔진이 존재하는 브라우저에서는 실행이 가능하지만,
브라우저가 없는 경우 자바스크립트 엔진이 존재하지 않으므로 실행이 불가능하다.
자바스크립트 엔진으로 만들어진 런타임, Node.js를 사용하면 브라우저 외부에서도 자바스크립트를 사용할 수 있다.
그렇다면, 자바스크립트 엔진이란 정확히 무엇일까?
자바스크립트 엔진은 자바스크립트 코드를 실행하는 소프트웨어 구성 요소이다.
웹 브라우저 공급업체에서 개발하며, 모든 주요 브라우저에 하나가 있다.
[자바스크립트]
- 최초 : 단순한 interpreter(인터프리터)를 사용.
- 최신 : 성능 향상을 위해 Just-In-Time compiler(컴파일)을 사용.
컴퓨터 프로세스는 오직 0과 1만 이해할 수 있기 때문에,
반드시 우리가 작성한 소스 코드를 머신 코드로 변환해줘야 한다.
이 변환 과정이 컴파일과 인터프리터를 통하여 일어난다.
- 인터프리터 : 실행할 때마다 한 줄 씩 번역.
- 컴파일 : 먼저, 실행 전에 사람이 작성한 코드를 한 번에 기계어로 변환. 그 다음에 실행.
초기에 자바스크립트 엔진은 그저 인터프리터 였다면, 현재는 JIT 컴파일을 사용하고 있다.
왜냐, Interpreter 언어는 한 줄씩 해석하고 실행하기 때문에 컴파일이 되는 다른 언어보다 매우 느리다는 단점이 있다.
하지만, 현재 웹에서는 지도 기능 등 굉장히 무거운 기능들도 수행하고 있기 때문에
현재는 더 나은 퍼포먼스를 위하여 JIT 컴파일을 이용하고 있다.
JIT 컴파일은, 인터프리터와 컴파일을 결합한 것이다.
두 개의 장점과 단점을 모두 결합한 것이다.
[자바스크립트 엔진 종류]
- Chrome : V8(가장 많이 사용되는 자바스크립트 엔진)
- Firefox : SpiderMonkey(Mozila에서 개발)
- Safari : JavascriptCore(Apple에서 개발. 다른 Webkit 기반 브라우저에서도 사용)
- Internet Explorer : Chakra => V8
728x90
반응형
'Backend > Node.js' 카테고리의 다른 글
Node.js 설치 / REPL (0) | 2024.12.06 |
---|---|
Node.js Runtime(런타임) (0) | 2024.12.06 |
Post 요청으로 데이터 추가하기 (0) | 2024.08.30 |
HTTP Routing (0) | 2024.08.30 |
웹 서버 생성하기 (0) | 2024.08.29 |
@min' :: 개발을 하자
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!