자바스크립트에서 전역 변수(global variable)는 프로그램 전체에서 접근 가능한 변수입니다. 전역 변수는 어떤 함수 내부에서도 선언할 필요 없이 바로 사용할 수 있습니다. 하지만 전역 변수의 사용은 지양되어야 합니다. 그 이유는 아래와 같습니다.
-
네임스페이스 충돌: 전역 변수는 프로그램 전체에서 접근 가능하기 때문에 다른 라이브러리나 프레임워크에서 같은 이름의 변수를 사용한다면 충돌이 발생할 수 있습니다.
-
의도하지 않은 값 변경: 전역 변수는 어디에서든지 값을 변경할 수 있습니다. 함수 내에서 변수를 처리하고자 할 때 의도치 않게 전역 변수의 값이 변경될 수 있어서 예측하기 어렵습니다.
전역 변수의 선언 방법
전역 변수를 선언하는 방법은 다음과 같습니다.
var globalVariable = 10;
let anotherGlobalVariable = 'hello';
const CONSTANT_GLOBAL_VARIABLE = true;
위의 예제에서 var
, let
, const
키워드를 사용하여 전역 변수를 선언할 수 있습니다. var
키워드는 함수 스코프로 전역 변수를 선언하고, let
과 const
키워드는 블록 스코프로 전역 변수를 선언합니다.
전역 변수의 사용 방법
전역 변수는 어디에서든지 접근 가능하기 때문에 다른 함수 내부에서도 사용할 수 있습니다. 예를 들어, 아래와 같이 함수 내에서 전역 변수를 사용할 수 있습니다.
function printGlobalVariable() {
console.log(globalVariable);
}
// 함수 호출
printGlobalVariable(); // 10
전역 변수는 어디에서든지 값을 변경할 수 있기 때문에 주의가 필요합니다. 값 변경을 제한하기 위해 const
키워드를 사용하여 전역 상수를 선언할 수도 있습니다.
function changeGlobalVariable() {
globalVariable = 20;
// CONSTANT_GLOBAL_VARIABLE = false; // Error: 상수 값 변경 불가
}
// 값 변경
console.log(globalVariable); // 20
전역 변수 사용 시 주의점
전역 변수를 사용할 때는 다음과 같은 주의사항을 지켜야 합니다.
- 전역 변수의 사용을 최소화하고, 필요한 경우에만 사용해야 합니다.
- 변수의 스코프를 신중하게 결정하여 네임스페이스 충돌을 방지합니다.
- 값 변경을 제한하기 위해
const
키워드를 사용하여 전역 상수를 선언합니다.
전역 변수의 남발로 인한 문제를 피하기 위해 변수의 스코프와 생명주기를 고려하여 코드를 작성하는 것이 좋습니다.