JavaScript/모던자바스크립트 딥다이브

[딥다이브] 14장 전역변수의 문제점

전역변수의 문제점

1. 암묵적결합

- 전역변수는 어디서든 참조, 할당할수잇기때문에 암묵적결합을 허용하는것이며 변수의 유효범위가 커질수록 코드의 가독성은 나빠지고 의도치않게 상태가 변경될수있는 위험도가 증가한다.

 

2. 긴 생명주기

- 메모리 소비도 높으며 var 키워드는 중복선언을 허용하므로 의도치 않은 재할당이 일어날수있다.

 

3. 스코프 체인상에서 종점에 존재

- 종점에 존재하기에 전역변수의 검색 속도가 가장느리다.

 

4. 네임스페이스 오염

- 다른파일내에서 동일한 이름으로 명명된 전역변수나 전역함수가 같은 스코프내에 존재하는경우 예상치못하는결과를 가져올수있음

 

전역변수의 사용을 억제하는방법 

전역변수를 반드시 사용해야할 이유를 찾지 못한다면, 지역변수를 사용하자 , 변수의 스코프는 좁을수록 좋다.

 

모듈패턴

- js의 클로저 기반으로 동작 캡슐화까지 구현가능.

 

ES6모듈

- ES6 모듈은 파일 자체의 독자적인 모듈 스코프를 제공한다.