IT공부

[지식루프의 IT공부] 지역(local)변수와 전역(global)변수 차이

지식루프 2024. 12. 24. 10:33
728x90
반응형

로컬 변수(Local Variable)와 글로벌 변수(Global Variable) 차이

자바스크립트에서 **변수의 범위(Scope)**는 해당 변수가 어디에서 선언되었는지에 따라 결정됩니다.
로컬 변수글로벌 변수는 스코프의 차이에 따라 구분됩니다.


1. 로컬 변수 (Local Variable)

  • 함수 또는 블록 내에서 선언된 변수
  • 해당 함수나 블록 안에서만 접근 가능
  • 함수가 종료되거나 블록을 벗어나면 사라짐

예시:

  • localVar는 example 함수 내에서만 접근할 수 있으며, 함수 외부에서는 접근 불가능

2. 글로벌 변수 (Global Variable)

  • 함수 외부에서 선언된 변수
  • 스크립트 어디에서나 접근 가능
  • 자바스크립트 프로그램이 실행되는 동안 메모리에 계속 유지

예시:

  • globalVar는 어디서든 접근할 수 있는 글로벌 변수

3. 차이점 요약

 

구분 로컬 변수 글로벌 변수
선언 위치 함수, 블록 내부 함수, 블록 외부
접근 범위 선언된 함수/블록 내부에서만 가능 어디서든 접근 가능
수명 함수/블록 종료 시 소멸 프로그램 종료 시까지 유지
메모리 사용 필요할 때만 메모리 사용 프로그램 실행 동안 메모리 차지
오염 가능성 다른 함수와 독립적 여러 함수에서 접근 가능해 오염 위험 있음

4. 글로벌 변수 사용 주의점

  • 변수 충돌 위험: 여러 함수에서 같은 글로벌 변수를 수정하면 의도치 않은 버그 발생 가능
  • 메모리 누수: 불필요한 글로벌 변수는 프로그램 성능 저하로 이어질 수 있음

해결책: 로컬 변수 사용을 기본으로 하되, 필요한 경우만 글로벌 변수 사용!


5. 블록 범위 (ES6 이후)

  • let과 const로 선언한 변수는 **블록 스코프(block scope)**를 가집니다.
  • 블록({}) 안에서만 유효하며, 블록 밖에서는 접근할 수 없습니다.

6. var와 let/const의 차이 (중요!)

  • var는 함수 스코프를 가지며, 블록 스코프를 무시합니다.
  • let과 const는 블록 스코프를 가집니다.
 

결과는 10 만 출력됨. 

 

로컬 변수와 글로벌 변수를 적절히 사용해 코드의 가독성, 유지보수성, 안정성을 높이는 것이 중요합니다.

 

 

 

728x90
반응형