[JavaScript] 스코프(Scope)란?
스코프(Scope)에 대한 모든 것을 다루어 보자.
1. 스코프 정의
스코프는 코드의 접근 범위를 결정한다.
2. 스코프 구조
스코프는 계층적 구조를 가진다.
계층적 구조 특성상 하위 스코프에서 상위 스코프 변수에 접근이 가능하며, 특정 변수를 찾을 때 까지 상위로 탐색할 수 있다.
단 상위 스코프에서 하위 스코프의 변수에는 접근할 수 없다.
최상위 스코프를 Global Scope라고 부르며, 그 아래에는 무수한 Local Scope가 있을 수 있다.
3. 스코프 종류
스코프의 종류는 크게 “Global Scope”와 “Local Scope”로 나뉜다.
- 전역 스코프(Global Scope): 최상위 스코프이다.
- 지역 스코프(Local Scope): 전역 스코프를 제외한 모든 스코프를 로컬 스코프라고 부른다.
- 함수 스코프(Fucntion Scope): 함수 생성 기준으로 스코프가 형성되며, 함수 내에서 선언된 변수는 해당 함수 안에서만 사용 가능하다.
- 블록 스코프(Block Scope): 블록 스코프는 말 그대로 중괄호{}로 블록을 생성할 때 스코프가 형성된다. 블록 스코프는 let, const로 선언된 변수에만 유효하다.
스코프에 대한 설명을 마치며 “변수 선언에 대한 위치 선정의 중요성”을 강조하고 싶다.
변수를 선언하기 전, 변수가 사용될 범위를 잘 생각하여 적절한 스코프에 선언할 수 있어야 한다.
Leave a comment