JavaScript 실행 컨텍스트 이해하기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
자바스크립트 개발자, 특히 실행 컨텍스트와 호이스팅(hoisting) 개념을 이해하고자 하는 초보자 및 중급자
핵심 요약
- 실행 컨텍스트는 자바스크립트가 코드를 실행하기 전에 생성되는 환경으로, 변수와 함수의 호이스팅을 관리
var
선언 시 호이스팅으로 인해console.log(user)
는undefined
를 반환- Execution Context는 코드 실행 전에 메모리 할당 및 초기화 과정을 포함
섹션별 세부 요약
1. 실행 컨텍스트의 정의
- 자바스크RIPT는 코드 실행 전에 Execution Context를 생성하여 메모리 할당
- Execution Context는 코드 실행 단계에서 변수와 함수의 초기화를 담당
- 호이스팅(hoisting)은
var
선언 시 메모리에 자동 할당되는 현상
2. 예제 코드 분석
console.log(user)
는 실행 전에var user = "Thiliban"
이 메모리에 할당되어undefined
를 반환let
과const
는 호이스팅이 발생하지 않아ReferenceError
발생- Execution Context는 전역 컨텍스트와 함수 컨텍스트로 구성
3. 실무 적용 시 주의사항
var
대신let/const
사용을 권장하여 호이스팅 문제 방지- 실행 컨텍스트 이해는 디버깅 및 코드 최적화에 중요
- Execution Context는 함수 실행 시 새로운 컨텍스트를 생성
결론
- 실행 컨텍스트와 호이스팅을 이해하면
undefined
오류를 예방하고, 메모리 관리와 디버깅 효율성을 높일 수 있음 let/const
사용과 함께 실행 컨텍스트의 동작 원리를 체계적으로 학습해야 함