24.1. 프로그램언어 자바스크립트(JavaScript)의 변수 스코핑 규칙

프로그램언어 자바스크립트(JavaScript)에서의 전역 스코핑 규칙

자바스크립트(JavaScript)에서의 전역 스코핑 규칙은 코드 내에서 변수가 어디에서 접근 가능한지를 정의합니다. 전역 스코프는 코드 어디에서든 접근 가능한 스코프를 의미하며, 전역 변수는 전역 스코프에 선언된 변수를 말합니다.

전역 스코프 규칙은 다음과 같습니다:

  1. 전역 변수는 어디서든 접근 가능합니다.
  2. 전역 변수는 모든 함수 내에서 사용할 수 있습니다.
  3. 전역 변수는 var 키워드 없이 선언할 수 있습니다. 이 경우 변수는 암시적으로 전역 변수로 선언됩니다.

아래는 전역 스코프 규칙에 대한 예제 코드입니다:


// 전역 스코프에서 변수 선언
var globalVar = 'I am a global variable';function myFunction() {
  // 전역 스코프에 접근 가능
  console.log(globalVar);
}myFunction(); // 'I am a global variable' 출력// var 키워드 없이 전역 변수 선언
anotherGlobalVar = 'I am another global variable';function anotherFunction() {
  // 전역 스코프에 접근 가능
  console.log(anotherGlobalVar);
}anotherFunction(); // 'I am another global variable' 출력

프로그램언어 자바스크립트(JavaScript)에서의 지역 스코핑 규칙

자바스크립트에서의 지역 스코핑 규칙은 변수가 선언된 위치에 따라 변수의 유효 범위가 결정되는 규칙을 말합니다. 지역 스코프는 함수 내부에서 선언된 변수가 해당 함수 내에서만 유효하고 외부에서 접근할 수 없다는 개념을 가지고 있습니다.

예를 들어, 함수 내부에서 선언된 변수는 함수 내에서만 접근할 수 있고 함수 외부에서는 접근할 수 없습니다. 이는 변수의 스코프가 함수 범위로 제한되어 있기 때문입니다.

아래는 지역 스코프 규칙을 보여주는 간단한 예제 코드입니다.


function myFunction() {
    var localVar = 'Local Variable';
    console.log(localVar); // 함수 내부에서는 localVar에 접근 가능
}myFunction();
console.log(localVar); // 함수 외부에서는 localVar에 접근 불가능

위 예제에서 ‘localVar’ 변수는 ‘myFunction’ 함수 내에서 선언되었기 때문에 함수 내부에서는 접근할 수 있지만 함수 외부에서는 접근할 수 없습니다.

이러한 지역 스코프 규칙을 이해하면 변수의 충돌을 방지하고 코드의 가독성을 높일 수 있습니다. 함수 내에서만 필요한 변수는 지역 스코프를 사용하여 정의하고, 전역 스코프는 최소화하여 안정성을 높일 수 있습니다.

프로그램언어 자바스크립트(JavaScript)에서의 블록 레벨 스코핑 규칙

자바스크립트에서의 블록 레벨 스코핑 규칙은 변수의 유효 범위를 정의하는 중요한 개념입니다. 블록 레벨 스코핑은 중괄호로 둘러싸인 코드 블록 내에서 선언된 변수가 해당 블록 내에서만 유효하다는 원칙을 의미합니다.

예를 들어, if문이나 for문 같은 블록 내에서 선언된 변수는 해당 블록 내에서만 접근할 수 있고, 외부에서는 접근할 수 없습니다. 이는 변수의 스코프를 블록 단위로 제한하여 변수의 충돌을 방지하고 예기치 않은 동작을 방지하는 데 도움이 됩니다.

아래는 블록 레벨 스코핑 규칙을 보다 쉽게 이해할 수 있는 예제 코드입니다.


// 블록 레벨 스코핑 예제{
  let x = 10; // 블록 내에서만 유효한 변수 x 선언
  console.log(x); // 10 출력
}console.log(x); // 에러: x는 정의되지 않았습니다.

위 예제에서는 중괄호로 둘러싸인 블록 내에서 변수 x를 선언하고 사용한 후, 블록 외부에서 다시 변수 x에 접근하려고 하면 에러가 발생하는 것을 확인할 수 있습니다.

프로그램언어 자바스크립트(JavaScript)에서의 함수 레벨 스코핑 규칙

함수 레벨 스코핑은 JavaScript에서 변수의 유효 범위를 결정하는 규칙 중 하나입니다. 이 규칙에 따르면 변수는 함수 내에서 선언된 경우 해당 함수 내에서만 유효하며 함수 외부에서는 접근할 수 없습니다.

예를 들어, 함수 내에서 선언된 변수는 함수 내에서만 접근할 수 있고 함수 외부에서는 접근할 수 없습니다. 이는 변수의 스코프가 함수 레벨에 해당한다는 것을 의미합니다.

아래는 함수 레벨 스코핑 규칙을 보여주는 간단한 예제 코드입니다.


function myFunction() {
    var localVar = 'I am a local variable';
    console.log(localVar); // 함수 내에서 localVar에 접근 가능
}myFunction();
console.log(localVar); // 에러 발생: localVar는 함수 내에서만 유효

프로그램언어 자바스크립트(JavaScript)에서의 렉시컬 스코핑 규칙

자바스크립트의 렉시컬 스코핑 규칙은 변수의 유효 범위를 결정하는 규칙으로, 변수가 어디에서 선언되었는지에 따라 스코프가 결정됩니다.

예를 들어, 함수 내부에서 선언된 변수는 그 함수의 스코프 안에서만 유효하며, 함수 외부에서 선언된 변수는 전역 스코프에서 유효합니다.

아래는 렉시컬 스코핑 규칙을 보다 쉽게 이해할 수 있는 예제 코드입니다.


// 전역 스코프
var globalVar = 'Global Variable';function outerFunction() {
  // outerFunction 스코프
  var outerVar = 'Outer Variable';  function innerFunction() {
    // innerFunction 스코프
    var innerVar = 'Inner Variable';
    
    console.log(globalVar); // 전역 변수에 접근 가능
    console.log(outerVar); // outerFunction 스코프 변수에 접근 가능
    console.log(innerVar); // innerFunction 스코프 변수에 접근 가능
  }  innerFunction();
}outerFunction();

Leave a Comment