파피루스

14장, 전역 변수의 문제점 본문

Book/모던 자바스크립트 Deep Dive

14장, 전역 변수의 문제점

떼굴펜 2024. 5. 7. 19:32
 전역 변수는 생명 주기는 어플리케이션의 생명주기와 같다. 

 

 

전역 변수의 문제점

  1. 암묵적 결합 : 코드 어디에서든 참조하고 할당할 수 있다. (코드 가독성과 값 변경 위험성이 높다.)
  2. 긴 생명 주기 : 메모리 리소스를 오랜 시간 소비하며, 변수 이름이 중복될 경우, 의도치 않은 재할당이 이뤄진다.
  3. 스코프 체인의 마지막에 존재 : 전역 변수의 검색 속도가 제일 느리다.
  4. 네임스페이스 오염 : 동일 식별자가 존재할 경우 예상과 결과가 달라질 수 있다.

 

전역 변수 쓰지말고 이렇게 해보자

1) 즉시 실행 함수

 모든 코드를 즉시 실행 함수로 감사면 그 안의 모든 변수는 즉시 실행 함수의 지역 변수가 된다. 이렇게 사용하면 전역 변수를 생성하지 않으므로 라이브러리 등에 자주 사용된다.

(function () {
    const name = '떼굴펜';
})();

 

 

2) 모듈 패턴

 클래스를 모방해서 관련있는 변수와 함수를 모아 즉시 실행 함수로 감싸 하나의 모듈을 만든다.

var Counter = (function(){
    var num = 0;           // private 한 변수

    return {                   // public한 데이터나 메서드 반환
        increase() {
             return ++num;
        },
        decrease() {
             return --num;
        }
    }
})();

 

 

'Book > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글

18장, 함수와 일급 객체  (0) 2024.05.09
17장, 생성자 함수에 의한 객체 생성  (0) 2024.05.08
13장, 스코프  (0) 2024.05.02
11장, 원시값과 객체의 비교  (0) 2024.04.19
10장, 객체 리터럴  (1) 2024.04.19