자바스크립트에서 변수는 전역 변수와 지역 변수로 구분됩니다. 이들은 변수의 스코프(scope)에 따라 사용되며, 변수의 범위와 사용 방법이 달라집니다.
전역 변수 (Global Variables)
전역 변수는 프로그램 어디에서든 접근할 수 있는 변수를 말합니다. 전역 변수는 프로그램이 실행되는 동안 유지되며, 어느 곳에서든지 값을 변경하거나 사용할 수 있습니다.
전역 변수는 var
, let
, const
를 사용하여 선언할 수 있으며, 함수 내부에서 선언되었더라도 해당 함수 외부에서도 접근할 수 있습니다. 전역 변수는 코드 어디에서든 참조할 수 있기 때문에 주의해야 합니다. 전역 변수를 과도하게 사용하면 코드의 가독성과 유지 보수성이 저하될 수 있습니다.
// 전역 변수 선언
var globalVariable = 10;
function myFunction() {
console.log(globalVariable); // 전역 변수 사용
}
myFunction(); // 10 출력
지역 변수 (Local Variables)
지역 변수는 특정 블록 내에서만 유효한 변수를 말합니다. 함수 내부에서 선언된 변수는 해당 함수 내에서만 접근할 수 있으며, 다른 함수나 전역에서는 사용할 수 없습니다.
지역 변수는 선언된 함수 내부에서만 접근할 수 있기 때문에, 코드의 격리성과 독립성을 높일 수 있습니다. 지역 변수는 함수를 호출할 때마다 생성되며, 함수의 실행이 종료되면 자동으로 소멸됩니다.
function myFunction() {
// 지역 변수 선언
var localVariable = 20;
console.log(localVariable); // 지역 변수 사용
}
myFunction(); // 20 출력
console.log(localVariable); // ReferenceError: localVariable is not defined 에러 발생
변수의 스코프 (Scope)
변수의 스코프(scope)란 변수가 유효한 범위를 의미합니다. 자바스크립트에서는 함수 단위 스코프를 사용합니다. 즉, 변수가 선언된 함수 내에서만 유효하며, 함수 외부나 다른 함수에서는 사용할 수 없습니다.
함수 내에서 선언된 변수는 해당 함수 내에서만 접근할 수 있고, 함수 외부에서는 참조할 수 없습니다. 이로 인해 변수의 충돌이나 오염의 위험을 방지하면서 코드를 모듈화하고 재사용성을 높일 수 있습니다.
결론
변수의 스코프는 자바스크립트에서 변수의 범위를 제한하고, 코드의 격리성과 독립성을 유지하는 데 중요한 역할을 합니다. 전역 변수는 어느 곳에서든 접근할 수 있지만, 지역 변수는 특정 블록 내에서만 유효한 범위를 갖습니다. 변수를 선언할 때, 변수의 스코프를 고려하여 적절한 범위에 변수를 선언하는 것이 좋습니다.
다음 포스트에서는 클로저(closure)와 변수의 스코프에 대해 자세히 알아보겠습니다.