[코드캠프 벨류업]Scope

[SCOPE 란?]

스코프란 영어의 뜻으로 범위라는 뜻을 가지고 있다. 즉 JS에서는 변수에 접근할수 있는 범위라고 생각하면 편하다.
자바스크립트에서는 Global(전역)과 local(지역)이 있다.
전역 스코프는 말그대로 전역에서 어느 곳에서든 해당 변수에 접근이 가능한 범위 이다.
가장 최상위에서 변수를 선언함 으로써 어느곳에서나 해당 변수에 접근이 가능하다.
지역 스코프는 해당 지역에서만 접근할 수가 있어서 지역을 벗어난 곳에서는 사용이 불가능 하다.

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

위의 코드에서 print 함수내에서 console.log는 어떤 것을 출력할까?
print() 함수는 111을 나타내고, print 함수 밖에 있는 a는 전역 스코프인 1을 출력한다.
이 현상은 스코프 체인으로 인해서 서로 바라보는 변수가 다르기 때문에, print 함수 안에서 선언된 a와 전역으로 선언됨 a는 서로 각자의 스코프에서 선언된 a라는 변수를 다르게 인식하고 값을 보여주는 것이다.

좋은 웹페이지 즐겨찾기