유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

How Does Javascript Even Work?

developedbyed

2025. 10. 17.

0

#frontend
  • 자바스크립트 개발자가 C++를 배우면서 자바스크립트의 내부 동작 방식에 대한 깊은 이해의 필요성을 느꼈습니다. 🤯
  • 자바스크립트 코드는 파서(Parser), 실행 컨텍스트 생성 단계(Creation Phase), 그리고 실행 단계(Execution Phase)의 세 가지 주요 단계를 거쳐 작동합니다. ⚙️
  • 파서는 코드를 키워드, 식별자, 연산자, 리터럴 등으로 분해하고, 추상 구문 트리(AST)를 생성하여 코드의 구조와 의미를 파악하며, 구문 오류를 실행 전에 잡아냅니다. 🌳
  • 실행 컨텍스트 생성 단계에서는 전역 실행 컨텍스트(Global Execution Context)가 초기화되고, this 키워드, window 객체(브라우저 환경) 또는 global 객체(Node.js 환경), 그리고 렉시컬 환경(Lexical Environment)이 설정됩니다. 🌍
  • 렉시컬 환경은 코드가 물리적으로 어디에 작성되었는지, 해당 스코프가 무엇에 접근할 수 있는지, 그리고 외부 환경(outer environment)이 무엇인지 추적하여 스코프 체인을 형성합니다. 🔗
  • 호이스팅(Hoisting)은 실행 컨텍스트 생성 단계에서 함수 선언이 메모리에 미리 저장되어 코드 실행 전에 호출할 수 있게 하며, letconst 변수는 초기화 전에 접근하면 ReferenceError를 발생시켜 예측 불가능한 동작을 방지합니다. ⬆️
  • 자바스크립트는 단일 스레드 방식으로 코드를 한 줄씩 실행하며, 각 실행 컨텍스트(전역 또는 함수 호출 시 생성)는 콜 스택(Call Stack)에 쌓여 LIFO(Last In, First Out) 방식으로 관리됩니다. 📚
  • 함수가 호출될 때마다 해당 함수만을 위한 새로운 실행 컨텍스트가 생성되어 콜 스택에 추가되며, 이 컨텍스트가 완료될 때까지 상위 컨텍스트는 일시 중지됩니다. 🚀

Recommanded Videos