스코프 체인이란?
스코프 체인이란 자바스크립트가 변수를 찾을 때 안쪽 스코프에서 바깥쪽 스코프로 차례대로 찾아 올라가는 구조를 말한다.
즉 내부 함수가 외부 스코프의 변수에 접근할 수 있는 이유가 바로 스코프 체인 덕분이다.
예시
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 라는 세 가지 변수를 각각 다른 스코프에서 찾는다.
- c -> 자기 스코프인 khj() 안에 있어서 바로 찾는다.
- b -> khj() 안엔 없지만 바깥 함수 nice() 안에 있으므로 그곳에서 찾는다.
- 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 |