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
반응형
'IT공부' 카테고리의 다른 글
[지식루프의 IT공부] 옵셔널 파라미터(Optional Parameter) (1) | 2024.12.23 |
---|---|
[지식루프의 IT공부] 함수에서 return 값 필요한 이유 (1) | 2024.12.23 |
네이버 회원가입 안될 때 해결방법 (0) | 2024.12.22 |
[지식루프의 IT공부] 복합 할당 연산자 (1) | 2024.12.22 |
[지식루프의 IT공부] 자바스크립트에서 null과 undefined 차이점 (1) | 2024.12.21 |