※ 강의를 듣고 제가 이해한 것을 바탕으로 정리한 것이라서 오류가 있을 수 있습니다.

 

 

Scope

Scope 란 변수 혹은 함수를 선언하게 될 때 해당 변수 또는 함수가 유효한 범위를 의미한다.

Scope 는 총 3가지 종류가 있다.

 

1. Global (전역) Scope: 코드의 모든 범위에서 사용이 가능하다.

2.Function (함수) Scope: 함수 안에서만 사용이 가능하다.

3.Block (블록) Scope: if, for, switch 등 특정 블록 내부에서만 사용이 가능하다.

 

예시를 통한 Scope 이해1

const value = 'hello!';

function myFunction() {
  console.log('myFunction: ');
  console.log(value); // hello는 Global Scope라서 어디서든 유효 이기에 함수에서도 유효
}

function otherFunction() {
  console.log('otherFunction: ');
  const value = 'bye!'; // 함수 내에서 선언된 Function Scope라서 함수 내에서만 유효 
  console.log(value); 
}

myFunction();
otherFunction();

console.log('global scope: ');
console.log(value); // Global Scope 출력

 

실행 결과

 

 

예시를 통한 Scope 이해2

 

const value = 'hello!'; // 코드 내에 영향을 미침

function myFunction() {
  const value = 'bye!';// 함수 내에 영향을 미침
  if (true) {
    const value = 'world'; // 블록 내에 영향을 미침
    console.log('block scope: ');
    console.log(value);
  }
  console.log('function scope: ');
  console.log(value);
}

myFunction();
console.log('global scope: ');
console.log(value);

 

실행 결과

+ Recent posts