클로저 모듈 패턴

hyo·2022년 7월 24일
0

[Javascript] 기초 학습

목록 보기
57/62

클로저 모듈 패턴 알아보기

매서드 호출은 객체.메서드() 와 같이 호출하는 방법을 의미한다.
매서드 호출 방식을 이용할 때에는 화살표함수를 쓰지 않는다.
-> this 키워드를 쓸때 현재의 자신의 위치를 인지하지 못하기 때문에.

let count = {
  value: 0,
  increase: function() {
    this.value++
  },
  decrease: function() {
    this.value--
  },
  getValue: function() {
    return this.value
  }
}

위와 같은 객체가 있다.
이 객체는 단 하나의 객체만 만들수 있다.
만약 똑같은 기능을 하는 카운터가 여러개 필요하다면, 이코드를 여러번 만들어야한다.
그러면 코드를 계속 복붙 해야 하므로, 재사용성이 아주 떨어진다.

이럴때 사용하는 게 클로저 모듈 패턴을 이용할 수 있다.

->

function makeCount() {
  let value = 0;
  return {
    increase: function() {
      value++;
    },
    decrease: function() {
      value--;
    },
    getValue: function() {
      return value;
    }
  }
}

let count1 = makeCount()
let count2 = makeCount()

이렇게 만들면 각각의 독립성을 갖고 같은 기능을 갖는다.

profile
개발 재밌다

0개의 댓글