ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트의 엔진은 무엇이며, 어떻게 작동되는 것일까?
    Study/JavaScript 2020. 4. 20. 15:11

     

     

    자바스크립트는 브라우저뿐만 아니라 서버에서도 실행할 수 있습니다. 이 외에도 자바스크립트 엔진(JavaScript engine)이라 불리는 특별한 프로그램이 들어 있는 모든 디바이스에서도 동작합니다.

    브라우저엔 "자바스크립트 가상 머신"이라 불리는 엔진이 내장되어 있습니다.

    엔진의 종류는 다양한데, 엔진마다 특유의 코드네임이 있습니다. 아래처럼 말이죠.

    • V8 – Chrome과 Opera에서 쓰입니다.
    • SpiderMonkey – Firefox에서 쓰입니다.
    • IE는 버전에 따라 "Trident"나 "Chakra"라 불리는 엔진을 사용합니다. "ChakraCore"는 Microsoft Edge에 사용되며, "SquirrelFish"는 Safari에 사용됩니다.

    위의 코드네임은 개발 관련 글에서 종종 언급되기 때문에 기억해 두는 것이 좋습니다. 본 튜토리얼에서도 해당 코드네임을 사용할 예정입니다. "X라는 기능은 V8에서만 지원합니다."라는 식으로 말이죠. 이런 문장을 만나면 Chrome과 Opera에서만 이 기능을 지원한다고 이해하시면 됩니다.

     

     

    엔진은 어떻게 동작하나요?

    엔진이 어떻게 동작하는지 이해하려면 상당한 시간을 쏟아부어야 합니다. 하지만 기본 원리는 다음과 같이 간단합니다.

    1. 엔진(브라우저라면 내장 엔진)이 스크립트를 읽습니다(“파싱”).
    2. 읽어 들인 스크립트를 기계어로 전환합니다(“컴파일”).
    3. 기계어로 전환된 코드가 실행됩니다. 기계어로 전환되었기 때문에 실행 속도가 빠릅니다.

    엔진은 프로세스 각 단계마다 최적화를 진행합니다. 심지어 컴파일이 끝나고 실행 중인 코드를 감시하면서, 이 코드로 흘러가는 데이터를 분석하고, 분석 결과를 토대로 기계어로 전환된 코드를 다시 최적화하기도 합니다. 이런 과정을 거치면 스크립트 실행 속도는 더욱 더 빨라집니다.

     

    https://ko.javascript.info/intro

     

    자바스크립트란?

     

    ko.javascript.info

     

     

    'Study > JavaScript' 카테고리의 다른 글

    JS의 자료형  (0) 2020.04.20
    변수 명명 규칙  (0) 2020.04.20
    자바스크립트 데이터타입(1)  (0) 2020.04.14
    'use strict';  (0) 2020.04.14
    조건문(5)__boolean의 대체제  (0) 2020.04.14

    댓글

Designed by Tistory.