Scope 관련 용어
- scope : 변수가 선언/사용될 수 있는 공간
- block : 중괄호로 감싸진 단위
- global scope : 전역 범위
- global variable : 전역에서 접근 가능한 변수
- block scope : 블럭 안에 국한된 범위
- local variable : 블럭 안에서만 접근 가능한 변수
- global namespace : 전역 범위의 공간
- scope pollution : 변수의 범위를 고려하지 않고 변수를 선언해서 혼란이 오는 것
좋은 Scoping 습관
global 변수를 남용하면 scope pollution 이 생길 수 있다.
변수들은 최대한 block scope 으로 선언하는 것이 좋다.
타이트한 scoping 은 :
- 코드가 block 으로 구분되므로 가독성이 좋다.
- 코드가 기능별 block 으로 나뉘어서 이해하기 좋다.
- 코드의 유지보수가 쉽다.
- block 이 끝나면 local 변수가 버려지므로 메모리가 절약된다.
전역변수, 지역변수
안에서는 밖을 볼 수 있지만,
밖에서는 안을 볼 수 없다.
블럭 내에서 전역 변수를 사용할 수는 있지만,
블럭 밖에서 지역 변수를 사용할 수는 없다.