자바스크립트 스코프의 기본 개념

자바스크립트에는 전역 스코프(global scope)와 지역 스코프(local scope)가 있습니다. 전역 스코프는 어떤 함수 안에도 속하지 않은 최상위 스코프를 의미하며, 전역 스코프에 선언된 변수와 함수는 어디에서든 접근할 수 있습니다.

지역 스코프는 특정 함수 내에서 선언된 변수와 함수가 속하는 스코프로, 해당 함수 내부에서만 접근할 수 있습니다. 지역 스코프는 함수가 호출될 때마다 새로 생성되며, 함수 실행이 끝나면 해당 스코프가 사라집니다.

스코프 체인(scope chain)은 스코프들이 중첩되어 있는 경우 변수와 함수를 찾아가는 메커니즘입니다. 스코프 체인은 현재 스코프에서 변수를 찾고, 없으면 상위 스코프로 이동하여 변수를 찾아가는 방식으로 동작합니다. 최상위 스코프까지 변수를 찾지 못하면 ReferenceError가 발생합니다.

스코프는 변수의 유효 범위를 제어하여 변수 이름 충돌 등의 문제를 방지하는 중요한 개념입니다. 올바른 스코프 사용은 코드의 가독성과 유지보수성을 높이는 데 도움을 줍니다.