전역변수의 문제점
1. 암묵적결합
- 전역변수는 어디서든 참조, 할당할수잇기때문에 암묵적결합을 허용하는것이며 변수의 유효범위가 커질수록 코드의 가독성은 나빠지고 의도치않게 상태가 변경될수있는 위험도가 증가한다.
2. 긴 생명주기
- 메모리 소비도 높으며 var 키워드는 중복선언을 허용하므로 의도치 않은 재할당이 일어날수있다.
3. 스코프 체인상에서 종점에 존재
- 종점에 존재하기에 전역변수의 검색 속도가 가장느리다.
4. 네임스페이스 오염
- 다른파일내에서 동일한 이름으로 명명된 전역변수나 전역함수가 같은 스코프내에 존재하는경우 예상치못하는결과를 가져올수있음
전역변수의 사용을 억제하는방법
전역변수를 반드시 사용해야할 이유를 찾지 못한다면, 지역변수를 사용하자 , 변수의 스코프는 좁을수록 좋다.
모듈패턴
- js의 클로저 기반으로 동작 캡슐화까지 구현가능.
ES6모듈
- ES6 모듈은 파일 자체의 독자적인 모듈 스코프를 제공한다.
'JavaScript > 모던자바스크립트 딥다이브' 카테고리의 다른 글
[딥다이브] 17장 생성자 함수에 의한 객체생성 (0) | 2022.03.09 |
---|---|
[딥다이브] 16장 프로퍼티 어트리뷰트 (0) | 2022.03.09 |
[딥다이브] 15장 let, const 키워드와 블록레벨 스코프 (0) | 2022.02.22 |
[딥다이브] 13장 스코프 (0) | 2022.02.14 |
[딥다이브] 12장 함수 (0) | 2022.02.14 |