JavaScript 스코프 이해: 전역, 지역, 함수 스코프 비교
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

JavaScript에서의 스코프 이해

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

웹 개발자 및 JavaScript 학습자 (초보자~중급자)

핵심 요약

  • 전역 스코프(global scope)let/var으로 선언된 변수가 전역에서 접근 가능하며, 함수 외부에서 정의됨
  • 블록 스코프(local scope)if/for 등의 코드 블록 내부에서 선언된 let 변수만 해당 범위에서 접근 가능
  • 함수 스코프(function scope)는 함수 내부에서 선언된 let 변수가 함수 외부에서는 접근 불가능함
  • letconst는 블록 스코프를 지원하며, 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

```

  • functionVariablemyFunction() 내부에서만 유효

결론

JavaScript에서 스코프를 이해하면 코드의 가독성과 유지보수성을 높일 수 있습니다. let/const를 사용해 블록 스코프를 활용하고, var은 사용하지 않는 것이 좋습니다. 전역 변수는 최소화하고, 함수/블록 내부에서 필요한 범위에만 변수를 선언해야 합니다.