실행 컨텍스트 개념
함수를 호출할 때 해당 함수의 호출 정보가 차곡차곡 쌓여있는 스택을 콜 스택call stack 이라 한다. 실행 컨텍스트는 콜 스택에 들어가는 실행 정보 하나와 비슷하다. 실행 컨텍스트는 "실행 가능한 코드를 형상화하고 구분하는 추상적인 개념" 으로 콜스택과 연관하여 정의하면 "실행 가능한 자바스크립트 코드 블록이 실행되는 환경" 이라고 할 수 있고, 이 컨텍스트 안에 실행에 필요한 여러가지 정보를 담고 있다. 여기서 말하는 실행 가능한 코드 블록은 대부분의 경우 함수가 된다.
“현재 실행되는 컨텍스트에서 이 컨텍스트와 관련 없는 실행 코드가 실행되면 새로운 컨텍스트가 생성되어 스택에 들어가고 제어권이 그 컨텍스트로 이동한다. ”
실행 컨텍스트 생성 과정
활성 객체 생성 > arguments 객체 생성 > 스코프 정보 생성 > 변수 생성 > this 바인딩 > 코드 실행
스코프 체인
자바스크립트도 다른 언어와 마찬가지로 스코프, 즉 유효 범위가 있다. 이 유효 범위 안에서 변수가 함수가 존재한다. 각각의 함수는 [[scope]] 프로퍼티로 자신이 생성된 실행 컨텍스트의 스코프 체인을 참조한다.
'개발공부 > JavaScript 책' 카테고리의 다른 글
코어 자바스크립트 #02 (실행 컨텍스트, 호이스팅, 스코프 체인) (2) | 2021.11.16 |
---|---|
코어 자바스크립트 #01 (데이터 타입) (0) | 2021.11.15 |
인사이드 자바스크립트 #09 (프로토 타입 체이닝) (0) | 2021.11.02 |
인사이드 자바스크립트 #08 (함수 호출과 this, 함수리턴) ☆★ (0) | 2021.11.01 |
인사이드 자바스크립트 #07 (함수 객체, 함수의 다양한 형태) (0) | 2021.11.01 |