스코프는 이전 포스트에서 다른 JavaScript 개념에 대해 설명할 때 간간히 등장했는데요, 그만큼 JavaScript 언어에서 중요하고 기본적인 개념 중 하나입니다. 스코프를 충분히 이해하지 않으면 다른 개념을 이해하는 데 어려움을 겪을 수도 있습니다. 스코프에 대해 알아봅시다! 🚀
스코프(Scope)는 프로그램에서 변수나 함수의 유효 범위를 나타냅니다.
식별자의 유효 범위 결정:
💡 하나의 스코프 내에서 식별자는 유일해야 하지만, 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다.
💡 조금 더 쉽게 얘기하자면 스코프를 폴더로, 식별자를 그 안의 파일들로 생각해볼 수 있다.
전역 스코프(Global Scope): 프로그램 전체에서 접근 가능한 스코프로, 전역 변수와 함수가 속합니다.
💡 전역: 코드의 가장 바깥 영역
지역 스코프(Local Scope): 특정 블록이나 함수 내에서만 접근 가능한 스코프로, 지역 변수와 함수가 속합니다.
💡 자신의 지역 스코프와 하위 지역 스코프에서 유효
스코프 체인(Scope Chain)은 중첩된 스코프들 간의 계층적 구조를 나타냅니다.
내부(하위) 스코프에서 외부(상위) 스코프의 변수에 접근할 수 있으며, 이는 스코프 체인을 통해 이루어집니다.
💡 하위 스코프에서 유효한 변수를 상위 스코프에서 참조할 수 없습니다.
<참조>
📍 모던 자바스크립트 Deep Dive