[JavaScript] SCOPE

Parkboss·2022년 3월 8일
0

JavaScript

목록 보기
10/29
post-thumbnail

Scope란?

  • 변수 혹은 상수에 접근할 수 있는 범위
  • 모듈/함수 내 코드에서 동일한 변수 사용시 간섭을 줄이는 용도로 사용
  • Scope는 Global Scope와 Local Scope의 타입으로 구분
    ..Global Scope: 전역에 선언되어 어디에서도 접근 가능
    ..Local Scope(block,function level scope):특정 지역에 선언되어, 해당 지역 내에서만 접근 가능



Z를 선언하지 않고 전역변수(글로벌 스콥트)에 접근 가능
글로벌 스콥트는 전역에 선언되어 어디든, 누구든 접근 가능
다만, 로컬 스콥트에서 {} 글로벌 스콥트에 있는 동일한 식별자를 통해서 새로 변수를 선언해 주면 글로벌 스콥트의 x = 1; y = 2;를 오버라이딩 : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용 (메소드 내부를 입맛에 맞게 변경)돼서 지워진다.
그래서 로컬 스콥트에서는 x = 3; y = 4; 되고 z = 3의 전역변수를 쓴다.

Scope 예제코드 (1)


맨 마지막 console.log(C);에서 출력이 안되는 이유
C가 있긴 하지만 로컬 스콥트에서 선언이 되었고 console.log(C); --> 이 시점에서 { } 로컬 스콥트 안에 있는 변수가 초기화된다. (이것을 가비지(garbage) 컬렉션이라고 한단다.)
그래서! 글로벌 스콥트에서 C가 없기 때문에 접근할 수 없다.

Scope 예제코드 (2)


Scope 예제코드 (3)

profile
ur gonna figure it out. just like always have.

0개의 댓글