1.Scope 정의
- 변수의 영향력의 범위를 의미
- 변수가 '어느 범위까지 사용이 가능한 지'에 대한 개념이다.
2.Block
- {} 중괄호로 감싸진 범위를 block(지역)이라고 한다.
- block 내부에서 선언된 변수는 block내에서만 사용이 가능하다.
- 이러한 변수를 지역변수라고 한다.
3.Global Scope
- block 밖의 범위를 포함한 전체 영역을 의미한다.
- 쉽게말해 전체 범위라고 생각하면 된다.
- block 밖인 global scope에서 선언된 변수를 전역변수라 한다.
4.Scope의 오염
- global변수를 남용하면 모든 scope에서 영향을 주기에 불필요한 부분에서 영향을 미칠 수 있다.
- 더 좋고 오류없는 코드를 위해 평소에는 지역변수를 사용하고 꼭 꼭 꼭 필요한 순간에만 전역변수를 사용하자.
5.Namespace
- scope와 같은 뜻으로 변수가 영향을 미치는 범위를 뜻한다.