프로그램이에서 제일 중요한 생각이 바로 Scope 이다.
Scope 는 변수에 접근할 수 있고, 참고할 수 있는 위치를 정의한다.
일부 변수는 프로그램 내 어디에서나 접근할 수 있지만, 특정 변수들은 특정 문맥에서만 접근할 수 있다.
예를 들어, scope는 당신의 창문으로부터 보이는 밤하늘의 모습과도 같다.
지구에 사는 누구든, 별들의 전 세계적인 장면을 볼 수 있다는 것이다.
한편, 도시에 사는 사람인 경우, 도시의 야경과 강들 또한 볼 수 있다. 도시에 사는 사람인 경우에만 볼 수 있는 '도시의 야경, 강' / 지구에 사는 모든 사람들이 볼 수 있는 '별'
이렇게 예시를 통해서 설명하려는 것이 바로 "scope" 이다.
(전역범위_global scope, 지역범위_local scope)
Scope에 대해서 말하기 전에, 먼저 blocks를 알아야한다.
우리들은 if 조건문에서 부터 block을 사용하고 있었다.
코드의 구문들을 묶을 때 사용하는 { } 이 바로 block 이다.
: 함수의 body가 사실상 코드이 block. 블록문인 것이다. (모두, { } 으로 둘러져있다.)