[자바스크립트] 전역 변수의 문제점

Kate·2023년 4월 2일
0

자바스크립트

목록 보기
8/19

변수의 생명 주기

지역 변수의 생명 주기 : 함수의 생명 주기와 일치

  • 변수의 생명 주기 : 메모리 공간이 확보된 시점부터 메모리 공간이 해제되어 가용 메모리 풀에 반화되는 시점까지

전역 변수의 생명 주기 : var 키워드로 선언한 전역 변수의 생명 주기는 전역 객체의 생명 주기와 일치

전역 변수의 문제점

  • 암묵적 결합 : 모든 코드가 전역 변수를 참조하고 변경할 수 있는 것
  • 긴 생명 주기 : 전역 변수는 생명 주기가 길다.
  • 스코프 체인 상에서 종점에 존재 : 전역 변수의 검색 속도가 가장 느림
  • 네임스페이스 오염

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

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

  • 즉시 실행 함수 : 모든 코드를 즉시 실행 함수로 감싸면 모든 변수는 즉시 실행 함수의 지역 변수가 됨
  • 네임스페이스 객체 : 전역에 네임스페이스 역할을 담당할 객체를 생성하고 전역 변ㅅ처럼 사용하고 싶은 변수를 프로퍼티로 추가
  • 모듈 패턴 : 클래스를 모방해서 관련이 있는 변수와 함수를 모아 즉시 실행 함수로 감싸 하나의 모듈을 만듬. 클로저 기반으로 동작하며, 캡슐화까지 구현 가능
  • ES6 모듈 : ES6 모듈은 파일 자체의 독자적인 모듈 스코프츨 제공
profile
개발 공부하는 케이트입니다.

0개의 댓글