본문 바로가기
학습 log (이론)/javascript

'실행 컨텍스트에 대해서' 중요한

by abbear25 2016. 10. 20.

실행 컨텍스트 개념

실행 가능한 자바스크립트 코드 블록이 실행되는 환경

*코드 블록, 대부분의 경우 함수

실행에 필요한 여러 가지 정보를 담은 하나의 상자

상자들이 스택에 쌓이고 상자 분석을 통하여 프로그램이 어떻게 실행되는지를 

확인할 수 있도록 해줌

현재 실행되는 컨텍스트에서 이 컨텍스트와 관련 없는 실행 코드가 실행되면,

새로운 컨텍스트가  생성되어 스택에 들어가고 제어권이 그 컨텍스트로 이동

 

실행 컨텍스트 생성

1.활성 객체 생성

생성된 실행 컨텍스트의 실행에 필요한 여러 가지 정보를 담은 객체

매개변수, 사용자 정의 변수 및 객체, 새 컨텍스트에 접근 가능하게 해줌

*자바스크립트 엔진부에서 접근하는 것, 사용자가 접근하는건 아님

2.arguments 객체 생성

생성된 활성 객체가 참조할 arguments 프로퍼티

3.스코프 정보 생성

스코프, 현재 컨텍스트의 유효 범위(연결 리스트와 유사한 형식으로 존재)

현재 컨텍스트에서 특정 변수에 접근해야 할 경우, 위 연결리스트 활용

*연결리스트를 스코프 체인이라 하며 현재, 상위 실행 컨텍스트의 변수에 접근 가능

스코프 체인에 대해서 http://illua.tistory.com/49

4.변수 생성

현재 실행 컨텍스트 내부에서 사용되는 지역 변수의 생성

위의 활성 객체와 동일

변수나 내부 함수를 메모리에 생성하고 변수에 undefined 할당 

*초기화는 각 변수나 함수에 해당하는 표현식이 실행되어야 함

5.this바인딩

this 키워드를 사용하는 값 할당

this가 참조하는 객체가 없으면 전역 객체를 참조

6.코드 실행

위의 순서가 끝난 후에 코드의 여러 가지 표현식  실행


반응형