[javascript] 전역 변수와 지역 변수의 차이점
프로그래밍에서 변수는 데이터를 저장하고 사용하기 위해 사용됩니다. 전역 변수와 지역 변수는 변수의 범위에 따라 차이가 있습니다. 이번 글에서는 전역 변수와 지역 변수의 차이점에 대해 알아보겠습니다.
전역 변수 (Global Variables)
전역 변수는 프로그램의 어느 곳에서나 접근이 가능한 변수입니다. 전역 변수는 함수 외부에서 선언되며, 프로그램의 어디서든지 사용할 수 있습니다.
var globalVariable = '전역 변수';
function foo() {
console.log(globalVariable); // '전역 변수' 출력
}
foo();
전역 변수는 프로그램 전체에서 공유되므로 다른 함수에서도 접근이 가능합니다. 하지만 전역 변수의 남발은 문제를 일으킬 수 있습니다.
지역 변수 (Local Variables)
지역 변수는 함수 내부에서만 접근이 가능한 변수입니다. 지역 변수는 함수 내에서 선언되어 함수 블록 내에서만 사용할 수 있습니다.
function bar() {
var localVariable = '지역 변수';
console.log(localVariable); // '지역 변수' 출력
}
bar();
console.log(localVariable); // 에러: localVariable is not defined
지역 변수는 함수 내부에서만 사용 가능하기 때문에 함수 밖에서는 접근할 수 없습니다. 이렇게 변수의 범위를 제한함으로써 변수의 충돌 등을 예방할 수 있습니다.
변수의 장단점
전역 변수와 지역 변수는 각각 장단점이 있습니다.
전역 변수의 장점:
- 어느 곳에서나 접근이 가능하므로 편리합니다.
- 여러 함수에서 공유할 수 있어 유용합니다.
전역 변수의 단점:
- 프로그램의 어느 곳에서든 접근 가능하기 때문에 예기치 않은 상태 변화를 일으킬 수 있습니다.
- 변수의 충돌이 발생할 수 있어 디버깅이 어려울 수 있습니다.
지역 변수의 장점:
- 변수의 범위가 제한되어 프로그램의 상태 변화를 예측하기 쉽습니다.
- 변수의 충돌이 일어나지 않습니다.
지역 변수의 단점:
- 다른 함수에서 접근할 수 없기 때문에 공유된 데이터를 사용할 수 없습니다.
결론
전역 변수와 지역 변수는 변수의 범위에 따라 차이가 있습니다. 전역 변수는 프로그램 전체에서 접근 가능하고, 지역 변수는 함수 내부에서만 접근 가능합니다. 변수의 범위를 제한하여 예기치 않은 변수 상태 변화를 방지하고, 변수 충돌을 피할 수 있습니다. 하지만 전역 변수를 남용하면 문제가 발생할 수 있으므로, 변수 사용에 주의해야 합니다.