노출모듈 패턴

Ryu·2023년 4월 4일

노출모듈(revealing module) 패턴이란?

즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴을 말합니다.

즉시 실행 함수란?

함수를 정의하자마자 바로 호출하는 함수. 초기화 코드, 라이브러리 내 전역 변수의 충돌 방지에 사용한다.

자바스크립트는 private나 public 같은 접근 제어자가 존재하지 않고 전역 범위에서 스크립트가 실행됩니다. 그렇기 때문에 노출모듈 패턴을 통해 접근 제어자를 구현하기도 합니다.

장점

  • 개발자에게 더 깔끔한 접근 방법을 제공
  • private 데이터 제공
  • 전역 변수를 덜 더럽힘
  • 클로저를 통해 함수와 변수를 지역화
  • 스크립트 문법이 더 일관성 있음
  • 명시적으로 public 메소드와 변수를 제공해 명시성을 높임

단점

  • private 메소드 접근할 방법이 없음
  • private 메소드에 대해 함수 확장하는데 어려움이 있음
  • private 메소드를 참조하는 public 메소드를 수정하기 어려움
profile
나는야 머찐 개발자

0개의 댓글