🏍자바스크립트 엔진

🗣자바스크립트 코드를 읽고, 해석해서 실행해주는 프로그램🔍

즉, 우리가 작성한 JS 코드를 컴퓨터가 이해하고
실행할 수 있게 해주는 뇌 같은 역할🧠

💡 유명한 자바스크립트 엔진들

브라우저 JS 엔진 이름
크롬, 엣지 V8 ( 가장 유명 )
파이어폭스 스파이더 몽키
사파리 자바스크립트 코어
인터넷 익스플로러 ( 옛날 브라우저 ) 차크라

📦 자바스크립트 엔진이 하는 일

    1. 코드 파싱 : JS 코드 읽기
    1. 컴파일 : JS 코드를 빠르게 실행할 수 있게 변환
    1. 실행 : 실제로 동작하게 만듦 ( 함수 실행, 변수 처리 등 )

🤔자바스크립트를 실행하려면❓

👩 : 컴퓨터에서 자바스크립트를 실행할 수 있나요❓
🧑 : 자바스크립트를 브라우저에서는 실행할 수 있어요❗
👩 : 브라우저가 없으면요❓
🧑 : 그럼 자바스크립트를 실행할 수 없습니다❗


🙋‍♀️자바스크립트를 실행하려면 JS 엔진이 필요🔥

👉 브라우저엔 이미 JS 엔진이 있기에 JS를 실행할 수 있는 것


👩‍💻컴퓨터가 소스 코드를 이해하려면❓

컴퓨터 프로세서는 오직 0 & 1만 이해할 수 있기 때문에
우리가 작성한 소스 코드를 머신 코드로 변환해줘야함🔄
✅ 변환 과정은 컴파일 & 인터프리터를 통해 일어남

🧠 인터프리터( Interpreter )

  • 코드를 한 줄씩 읽고 바로 실행하는 방식
  • 🧾 예시 : Python, JavaScript
  • 💬 비유 : “책을 한 줄씩 읽으면서 바로바로 통역하는 느낌!”

🧠 컴파일( Compile )

  • 전체 코드를 한 번에 기계어로 번역해서 실행하는 방식
  • 🧾 예시 : C, C++
  • 💬 비유 : “책을 한꺼번에 전부 번역해서 읽는 느낌!”

⚡JIT 컴파일 [Just-In-Time Compilation]

👉 인터프리터처럼 실행하다가,
자주 쓰이는 코드를 컴파일해서 더 빠르게 실행하는 방식

💬 비유 : “처음엔 한 줄씩 통역하다가,
자주 쓰는 문장은 미리 번역해놓고 빠르게 말하는 느낌!”

🤷‍♀️왜 두 개를 섞었을까❓➡인터프리터처럼 빠르게 실행 시작 가능하고
컴파일처럼 자주 쓰는 코드는 빠르게 실행할 수 있어서 효율적❗

📌자바스크립트 엔진( V8 등 )이 이 JIT 방식을 씀🔥

✅ JIT(Just-In-Time) 컴파일 사용하는 언어 예시

언어 설명
Javascript 브라우저에서 실행될 때 JIT 방식 사용( 예 - V8 엔진 )
Java JVM이 바이트코드를 실행할 때 JIT으로 최적화
C# .NET에서 실행될 때 JIT으로 네이티브 코드로 바꿔서 실행
Kotlin Java 기반이기 때문에 JIT 사용 가능
Lua( LuaJIT ) Lua 언어의 빠른 실행 버전에서 사용
Python( PyPy ) PyPy는 Python의 JIT 컴파일러 버전

profile
안녕하세요! 퍼블리싱 & 프론트엔드 개발 공부 블로그 입니다!

0개의 댓글