자바스크립트 범위

Javascript에서 범위는 특정 변수에 액세스할 수 있는 코드 영역을 의미합니다.

변수는 let , constvar 를 사용하여 선언됩니다.
var 전역 범위 변수를 생성하지만 이 변수가 여러 위치에서 선언되면 덮어쓰기가 발생할 수 있으므로 문제가 됩니다.

내 생각에 인터넷에서 가장 좋은 참고 자료는 범위에 대한 Dimitri Pavlutinblog입니다.

이 JS Scope Visualized는 시각적 학습자를 위한 놀라운 블로그이기도 합니다. JS에 대한 7부작 시리즈이며 저에게 엄청난 도움이 된 범위에 대한 섹션이 있습니다.

범위에는 전역, 함수 및 블록의 세 가지 유형이 있습니다.

전역 범위는 매우 간단합니다. 즉, 코드의 어디에서나 변수에 액세스할 수 있습니다.



로컬 범위



if, for 및 while 문은 범위를 만듭니다.

function fly() {
  // "fly" function scope
  const message = 'We're going to land in the river';
  if (true) {
    // "if" code block scope
    const pilot = 'Sully';
    console.log(message); // 'That seems dangerous'
  }
  console.log(pilot); // pilot is not defined
}
console.log(message); // message is not defined


독립 실행형 코드 블록도 범위를 만듭니다.




{ 
let scope = 'this is block scoped'
} 

console.log(scope) = this would return an error


또한 로컬 범위





function localScope() {
    const array = [1, 2, 3, 4, 5];
    let sum = 0;

}

console.log(array); //arr is not defined
console.log(sum); //array is not defined


중첩 범위도 있으며 외부 함수 내의 내부 함수는 외부 범위에 액세스할 수 있습니다.



요약해서 말하자면,

범위는 변수에 액세스할 수 있는 코드의 영역입니다.

다음과 같이 나눌 수 있습니다.

글로벌 범위
로컬 범위: 기능 범위 및 블록 범위

최상의 설명을 보려면 링크를 참조하십시오. 범위를 시각적으로 표현하기 위해 코드를 웹 앱에 복사/붙여넣기에 관심이 있다면 다음 사이트가 좋습니다.

JS Visualizer

좋은 웹페이지 즐겨찾기