노출모듈 패턴

Ryu·2023년 4월 4일
0

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

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

즉시 실행 함수란?

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

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

장점

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

단점

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

0개의 댓글