JavaScript에서의 스코프 이해
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
웹 개발자 및 JavaScript 학습자 (초보자~중급자)
핵심 요약
- 전역 스코프(global scope)는
let
/var
으로 선언된 변수가 전역에서 접근 가능하며, 함수 외부에서 정의됨 - 블록 스코프(local scope)는
if
/for
등의 코드 블록 내부에서 선언된let
변수만 해당 범위에서 접근 가능 - 함수 스코프(function scope)는 함수 내부에서 선언된
let
변수가 함수 외부에서는 접근 불가능함 let
과const
는 블록 스코프를 지원하며,var
은 전역/함수 스코프만 지원함
섹션별 세부 요약
1. 전역 스코프(Global Scope)
- 전역 변수는 프로그램 전체에서 접근 가능
- 예시:
let globalVariable = "Hello, World!";
myFunction()
내부에서도globalVariable
에 접근 가능- 전역 변수는 모든 함수/블록에서 사용 가능
2. 블록 스코프(Local Scope)
if
/for
등의 블록 내부에서 선언된let
변수는 해당 블록 외부에서 접근 불가- 예시:
```javascript
if (true) {
let localVariable = "Hello, World!";
console.log(localVariable); // 정상 작동
}
console.log(localVariable); // 오류 발생: localVariable is not defined
```
let
은 블록 스코프를 지원하지만,var
은 전역/함수 스코프만 지원
3. 함수 스코프(Function Scope)
- 함수 내부에서 선언된
let
변수는 함수 외부에서 접근 불가 - 예시:
```javascript
function myFunction() {
let functionVariable = "Hello, World!";
console.log(functionVariable); // 정상 작동
}
console.log(functionVariable); // 오류 발생: functionVariable is not defined
```
functionVariable
은myFunction()
내부에서만 유효
결론
JavaScript에서 스코프를 이해하면 코드의 가독성과 유지보수성을 높일 수 있습니다. let
/const
를 사용해 블록 스코프를 활용하고, var
은 사용하지 않는 것이 좋습니다. 전역 변수는 최소화하고, 함수/블록 내부에서 필요한 범위에만 변수를 선언해야 합니다.