[cs 스터디] 1-1. 디자인 패턴 - 노출모듈 패턴

YooJeeun·2024년 12월 26일

cs 스터디

목록 보기
7/65

노출모듈 패턴

노출모듈 패턴(revealing module pattern)은 즉시 실행 함수를 통해private, public 같은 접근 제어자를 만드는 디자인 패턴이다. 이 패턴을 통해 자바스크립트에서 private 변수나 함수와 public 변수 및 함수를 명확히 구분하여 캡슐화 된 모듈을 정의할 수 있다.

const pukuba = (() => {
    const a = 1
    const b = () => 2
    const public = {
        c : 2, 
        d : () => 3
    }
    return public
})()
console.log(pukuba)
console.log(pukuba.a)
// { c: 2, d: [Function: d] }
// undefined

a는 private 변수로 외부에서 접근이 불가능
cd는 public으로 정의되어 있어 외부에서 접근 가능

public
클래스에 정의된 함수에서 접근 가능하며 자식 클래스와 외부 클래스에서 접근 가능한 범위
protected
클래스에 정의된 함수에서 접근 가능, 자식 클래스에서 접근 가능하지만 외부 클래스에서 접근 불가능한 범위
private
클래스에 정의된 함수에서 접근 가능하지만 자식 클래스와 외부 클래스에서 접근 불가능한 범위
즉시 실행 함수
함수를 정의하자마자 바로 호출하는 함수. 초기화 코드, 라이브러리 내 전역 변수의 충돌 방지 등에 사용한다.

profile
제니벨로그

0개의 댓글