Scope

김루루룽·2022년 7월 13일
0

blog✏️

목록 보기
7/61
post-thumbnail

scope

범위라는 뜻을 갖고있다. '변수에 접근할 수 잇는 범위'
우리가 변수 혹은 함수를 선언하게 될 때 해당 변수 또는 함수가 유효한 범위를 의미

scope type

global

전역에 선언되어있는 어느 곳에서든지 해당 변수에 접근할 수 있다.

local

해당 지역에서만 접근할 수 있고, 지역을 벗어난 곳에서는 접근할 수 없다.

함수 scope

함수를 선언하면 함수를 선언할 때마다 새로운 스코프를 생성하게 된다.
함수 몸체에 선언한 변수는 해당 함수 몸체 안에서만 접근할 수 있다.
이걸 함수 스코프(function-scoped)라고 한다.
함수 스코프가 바로 지역 스코프의 예라고 할 수 있다.

let a = 1; // 전역 스코프

function print() { // 지역(함수) 스코프
 let a = 111;
 console.log(a);
}

print();
console.log(a);

위에 print를 호출한다면 답은 뭐로 나올까?
print 함수를 호출하면 111이 출력되는 것을 볼 수 있다.

만약 print함수에서 a를 지운다면 a는 뭐라고 찍힐까 ?
1이 찍힐 것이다.

이것은 Scope Chain에 의해 일어나는 현상이다.
현재 자신의 scope에서 사용하고자 하는 변수가 없다면 Scope Chain을 통해 해당 변수를 찾게된다.
출처

profile
1day 1push..plz

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN