[javascript] 전역 변수와 지역 변수의 실행 순서 및 우선순위

자바스크립트에서 변수는 전역 변수와 지역 변수로 나누어집니다. 이 글에서는 전역 변수와 지역 변수의 실행 순서와 우선순위에 대해 알아보겠습니다.

전역 변수

전역 변수는 함수 외부에서 선언된 변수로, 스크립트 어디에서든지 접근이 가능합니다. 스크립트의 최상위에 선언되거나 함수 내부에서 var 키워드 없이 선언된 변수들은 모두 전역 변수가 됩니다.

전역 변수는 스크립트가 실행되면서 가장 먼저 생성됩니다. 따라서, 전역 변수에 할당된 값을 어떤 함수에서든 사용할 수 있습니다.

var globalVariable = "전역변수";

function printGlobalVariable() {
  console.log(globalVariable);
}

printGlobalVariable(); // 출력: "전역변수"

지역 변수

지역 변수는 함수 내부에서 선언된 변수로, 해당 함수 내부에서만 접근이 가능합니다. 또한, 동일한 이름의 전역 변수와 지역 변수가 있을 경우, 지역 변수가 전역 변수를 가리키게 됩니다.

지역 변수는 함수가 호출될 때 생성되고, 함수가 실행을 마치면 소멸합니다. 따라서, 함수가 실행될 때마다 각각 다른 지역 변수가 생성되며, 함수 실행이 끝날 때마다 해당 변수는 메모리에서 해제됩니다.

function printLocalVariable() {
  var localVariable = "지역변수";
  console.log(localVariable);
}

printLocalVariable(); // 출력: "지역변수"
console.log(localVariable); // 오류: localVariable is not defined

실행 순서 및 우선순위

전역 변수와 지역 변수의 실행 순서는 다음과 같습니다.

  1. 스크립트 실행 시, 전역 변수가 먼저 생성됩니다.
  2. 함수를 호출하면, 해당 함수의 지역 변수가 생성됩니다.
  3. 함수 내부에서 변수를 참조할 때는 먼저 해당 함수의 지역 변수를 찾고, 없을 경우 전역 변수를 찾습니다.
  4. 함수 실행이 종료되면 지역 변수는 메모리에서 해제되며, 전역 변수는 스크립트가 종료될 때까지 유지됩니다.

따라서, 동일한 이름의 전역 변수와 지역 변수가 있을 경우, 함수 내부에서는 지역 변수를 사용하게 되고, 함수 외부에서는 전역 변수를 사용하게 됩니다.

var name = "전역변수";

function printName() {
  var name = "지역변수";
  console.log(name);
}

printName(); // 출력: "지역변수"
console.log(name); // 출력: "전역변수"

이와 같이 전역 변수와 지역 변수는 실행 순서와 우선순위에 따라 사용됩니다. 올바른 변수의 사용법을 숙지하고, 변수의 범위를 명확히 이해하는 것이 중요합니다.

결론

변수의 범위를 이해하고, 전역 변수와 지역 변수의 우선순위에 대해 알아보았습니다. 스크립트 실행 순서에 따라 변수가 생성되고 소멸되는 것을 이해하면, 변수를 올바르게 활용할 수 있습니다.