Hi

스코프 체인 본문

WEB(웹)/javascript

스코프 체인

SharingWorld 2018. 7. 3. 11:17

스코프 체인

자바스크립트에서는 for(){}, if{}와 같은 구문은 유효 범위가 없다. 오직 함수만이 유효 범위의 한 단위가 된다.


이 유효 범위를 나타내는 스코프가 [[scope]] 프로퍼티로각 함수 객체 내에서 연결 리스트 형식으로 관리 되는데, 이를 '스코프 체인' 이라고 한다. 
각 실행 컨텍스트의 변수 객체가 구성 요소인 리스트와 같다. 

각각의 함수는 [[scope]] 프로퍼티로 자신이 생성된 실행 컨텍스트의 스코프 체인을 참조한다. 
함수가 실행되는 순간 실행 컨텍스트가 만들어지고, 이 실행 컨텍스트는 실행된 함수의 [[ scope]] 프로퍼티를 기반으로 새로운 스코프 체인을 만든다 

전역 실행 컨텍스트의 스코프 체인

이 변수 객체의 스코프 체인은 자기 자신만을 가진다.


변수 객체의 [[scope]]는 변수 객체 자신을 가리킨다. 
변수 객체가 곧 전역 객체가 된다. 

함수를 호출한 경우 생성되는 실행 컨텍스트의 스코프 체인

스코프 체인 = 현재 실행 컨텍스트의 변수 객체 + 상위 컨텍스트의 스코프 체인



'WEB(웹) > javascript' 카테고리의 다른 글

join(), split(), includes()  (0) 2018.07.04
replaceAll() 구현  (0) 2018.07.04
실행 컨텍스트 생성 과정  (0) 2018.07.03
실행 컨텍스트 개념  (0) 2018.07.03
프로토타입 체이닝  (0) 2018.07.03