면접 질문 관련

스코프 체인 (Scope Chain) 정리

NiceKHJ 2025. 6. 5. 15:12

스코프 체인이란?
스코프 체인이란 자바스크립트가 변수를 찾을 때 안쪽 스코프에서 바깥쪽 스코프로 차례대로 찾아 올라가는 구조를 말한다.

즉 내부 함수가 외부 스코프의 변수에 접근할 수 있는 이유가 바로 스코프 체인 덕분이다.

 


예시

let a = 1;
function nice() {
	let b = 2;
    
    function khj() {
    let c = 3;
    
    console.log(a); // 전역에서 찾음
    console.log(b); // nice에서 찾음
    console.log(c); // khj 에서 찾음
    }
    khj();
}
nice();

 

스코프 체인의 실제 흐름

위 예시에서 khj() 함수는 a,b,c 라는 세 가지 변수를 각각 다른 스코프에서 찾는다.

  1. c -> 자기 스코프인 khj() 안에 있어서 바로 찾는다.
  2. b -> khj() 안엔 없지만 바깥 함수 nice() 안에 있으므로 그곳에서 찾는다.
  3. a -> khj()에도 nice()에도 없어서 전역 스코프에서 찾는다.

이처럼 자바스크립트는 가장 가까운 스코프부터 바깥쪽으로 하나씩 찾아 올라가며 변수의 값을 찾는 구조를 가진다.

이 탐색 구조를 스코프 체인(Scope Chin) 이라고 부른다.

 


탐색 구조 

[ khj 함수 스코프 ]

  -> [ nice 함수 스코프 ]

      -> [ 전역 스코프 ]

자식 스코프에서 변수를 찾지 못하면 부모 스코프로, 그래도 없으면 전역 스코프까지 찾아 올라간다.

 


스코프 체인이 중요한 이유

  • 자바스크립트가 변수를 어떻게 찾는지 이해할 수 있따.
  • 이름이 겹치는 변수가 있을 때 어떤 값이 사용되는지 예측할 수 있다.

'면접 질문 관련' 카테고리의 다른 글

실행 컨텍스트란?  (1) 2025.06.16
자바스크립트의 this  (1) 2025.06.11
클로저 (Closure) 정리  (1) 2025.06.09
var, let, const 정리  (0) 2025.06.05