HANA -J

13. 전역변수의 문제점 본문

개발/Javascript

13. 전역변수의 문제점

Hana-J 2021. 11. 28. 23:48

1. 암묵적 결합 

전역변수 선언은 코드 어디서든 참조하고 할당할 수 있는 변수를 사용하겠다는 의미, 이는 모든 코드가 전역 변수를 참조하고 변경 할 수 있는  암묵적 결합을 허용하는 것이다. 변수의 유효범위가 크면 클수록 가독성은 나빠지고 의도치 않게 상태가 변경될 수 있는 위험성이 높아진다.

 

2. 긴 생명주기 

전역변수는 생명주기가 길다. 따라서 메모리 리소스도 오랜 가간 소비한다. 특히 var키워드는 변수의 중복선언을 허용하므로 생명 주기가 긴 전역 변수는 변수의 이름이 중복될 가능성이 있다. 변수 이름이 증복되면 의도치 않은 재할당이 이뤄진다.

 

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

전역 변수는 스코프 체인상에서 종점에 존재. 변수를 검색할 때 전역변수가 가장 마지막에 검색된다. 따라서 검색속도가 가장느리다.

 

4. 네임 스페이스 오염 

자바스크립트의 가장 큰 문제점은 파일이 분리되어 있어도 하나의 전역 스코프를 공유한다. 따라서 다른 파일 내에서 동일한 이름으로 전역변수나 전역 함수가 같은 스코프 내에 존재할 경우 예상치 못한 결과를 가져올 수 있다.

 

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

728x90

'개발 > Javascript' 카테고리의 다른 글

클로저  (0) 2021.12.15
25. 클래스  (0) 2021.11.29
12. 즉시호출 함수 표현식(IIFE)와 node.js require()함수  (0) 2021.11.25
12. 함수(1)  (0) 2021.11.25
8-11장  (0) 2021.11.20
Comments