why not

자바스크립트 엔진 본문

CodeStates/블로깅 챌린지

자바스크립트 엔진

novem 2023. 2. 27. 22:49

1. JavaScript엔진?

  • JavaScript 코드를 실행하는 소프트웨어 구성 요소
  • 최초의 JavaScript 엔진은 단순한 Interpreter였지만, 모든 관련 최신 엔진은 성능 향상을 위해 Just-In-Time 컴파일을 사용 

 

2. 컴퓨터가 소스 코드를 이해하려면?

  • 컴퓨터 프로세서는 0과 1만 이해할 수 있기 때문에, 우리가 작성한 소스코드를 머신 코드로 변환해 줘야 하는데, 이 변환 과정은 컴파일과 인터 프리커를 통해 일어난다.

 

3. Interpreter VS Compiler

3-1. Interpreter: 실행할 때마다 한줄 씩 번역 및 분석

3-2. Compiler: 사람이 작성한 코드를 한번에 기계어로 변환

 

4. JIT Compiliation (Just In Time)

  • 초기에 자바스크립트 엔진은 Interpreter -> 현재: JIT Compiliation를 이용

-> Interpreter 언어는 컴파일 되는 다른 언어보다 해석하고 실행하는 것이 매우 느린편이지만 현재 웹에서는 Heavy한 기능들도 수행하고 있기에 현재는 더 나은 퍼포먼스를 위해 JIT컴파일을 이용

 

5. 자바스크립트 엔진의 종류

  • Google의 V8 -> 가장 많이 사용되는 JavaScript 엔진
  • SpiderMonkey는 Firefox 및 해당 포크에서 사용하기 위해 Mozilla에서 개발
  • JavaScriptCore는 Apple의 Safari 브라우저용 엔진 -> 다른 WebKit 기반 브라우저에서도 사용
  • Chakra는 Internet Explorer 브라우저의 엔진, 또한 원래 Edge 브라우저용으로 Microsoft에 의해 분기되었지만 Edge는 나중에 Chromium 기반 브라우저로 재구축되어 현재 V8을 사용

'CodeStates > 블로깅 챌린지' 카테고리의 다른 글

[사용자 친화 웹] 웹 표준2 (SEO)  (0) 2023.03.02
[사용자 친화 웹] 웹 표준1  (0) 2023.02.28
Redux  (0) 2023.02.24
[React] 상태 관리  (0) 2023.02.23
Create React App을 이용해서 리액트 설치하기  (0) 2023.02.23