[JS] 스코프체인

강인호·2022년 11월 16일
0

개인저장

목록 보기
61/87
post-thumbnail

참고링크

스코프체인이란 말 그대로 각각의 스코프가 어떻게 연결되어있는지 나타내는 것이다.

코드가 실행 되기 전에 전역 실행 컨텍스트가 생성 되고 그 다음 함수 실행 컨텍스트가 실행된다.

var one = 1

function parent(){

var one = "일"

function child(){
console.log(one)
}

b();

}

/// "일"

자바스크립트가 해당 코드를 실행하면

다음과 같은 방식으로 콜스택에 쌓인다 맨 마지막으로 쌓인 child의 console이 one이란 객체를 탐색하는데

이때 순서는 child => parent => GEC 순으로 탐색한다.

child내에 one이란 객체가 없으므로 스코프체인을 따라 parent를 탐색하고

one = "일" 이란 객체를 발견해서 해당 객체를 출력한다.

만약 parent에도 해당 객체가 없을 경우 GEC까지 탐색을 한 후 one = 1 이란 객체를 찾아서 출력을 할 것이다.

쌓이고 사라지는 과정은 해당 과정과 동일 순차적으로 쌓이고 마지막으로 쌓인 순서대로 처리를 하는 방식

자기 자신을 제외한 가장 가까운 변수 객체의 모든 스코프들을 스코프 체인이라 할 수 있다.

0개의 댓글