Javascript의 범위

오늘은 자바스크립트에서 스코프에 대해 알아보려고 합니다.

Javascript에서 범위는 자바스크립트에 대한 변수의 액세스 가능성을 결정하는 코드의 현재 컨텍스트를 나타냅니다. 즉, 변수는 변수가 생성된 환경에서만 액세스할 수 있으며 자식도 액세스할 수 있습니다.

범위에는 전역 범위와 지역 범위의 두 가지 유형이 있습니다.

글로벌 범위



전역 범위, 창 개체라고도 합니다. 전체 자바스크립트 실행 환경입니다.

전역 범위에 정의된 모든 변수에 액세스할 수 있습니다.
전체 프로그램에 걸쳐.

명시적 범위(var , let 또는 const 키워드 사용) 없이 할당된 모든 변수는 자동으로 전역 변수가 됩니다. 함수도 마찬가지입니다. reference

// index.js

const myName = "Mark Zuckerberg" // global scope

console.log(myName) // Mark Zuckerberg



로컬 범위



로컬 범위는 함수 범위라고도 합니다. 함수 내부에 변수를 정의하면 특정 함수 내에서만 액세스할 수 있고 해당 함수 외부에서는 액세스할 수 없습니다.

// index.js

function getAge() {
   const myAge = 34;
   console.log(myAge); // 34
}

console.log(myAge) // ReferenceError: myAge is not defined



스코프 체인



Javascript는 범위 체인을 사용하여 특정 범위에서 액세스할 수 있는 변수를 찾습니다. 즉, 변수가 참조될 때 Javascript는 현재 범위에서 변수를 찾고 전역 범위에 도달할 때까지 상위 범위로 계속 이동합니다.

// global scope
const a = 10; // accessible to everyone

const outerFunc = () => {
  var b = 20;  // a and b is accessible
  console.log(a, b);

  const innerFunc = () => {
      var c = 30;  // a, b and c is accessible
      console.log(a, b, c);
  }

  innerFunc();
}

outerFunc();



코드를 실행하려면node index.js
감사합니다 팔로우 부탁드려요


좋은 웹페이지 즐겨찾기