1 변수의 생명 주기
1.1 지역 변수의 생명 주기
- 변수는 자신이 선언된 위치에서 생성되고 소멸함, 전역변수의 생명주기는 애플리케이션의 생명주기와 같음
- 함수 내부에서 선언된 지역변수는 함수가 호출되면 생성되고 함수가 종료하면 소멸됨
1.2 전역 변수의 생명 주기
- 특별한 진입점이 없고 코드가 로드되자마자 곧바로 해석되고 실행됨
- var 키워드로 선언한 전역 변수의 생명주기는 전역 객체의 생명 주기와 일치함
2 전역 변수의 문제점
- 암묵적 결합 : 모든 코드가 전역변수를 참조하고 변경할 수 있음
- 긴 생명 주기
- 메모리 리소스도 오랜기간 소비하며, 전역변수 상태를 변경할 수 있는 시간도 길고 기회도 많음
- 스코프 체인 상에서 종점에 존재 : 변수검색 시 전역 변수가 가장 마지막에 검색된다는 것
- 네임스페이스 오염
- 다른 파일 내에 동일한 이름으로 명명된 전역변수나 전역함수가 같은 스코프 내에 존재할 경우 예상 못한 결과를 가져올 수 있음
3 전역 변수의 사용을 억제하는 방법
- 전역변수를 반드시 사용해야 할 이유를 찾지 못한다면 지역변수를 사용해야 함!
- 변수의 스코프는 좁을수록 좋음.