상세 컨텐츠

본문 제목

Closure Module Pattern

Programming/Concept

by 쌩우 2019. 4. 15. 12:04

본문

변수를 scope 안쪽에 감추어 함수 밖에서 노출시키지 않을 수 있음

function makeCounter() {
  var privateCounter = 0;

  function changeBy(val) {
    privateCounter += val;
  }

  return {
    increment: function() {
      changeBy(1);
    },
    decrement: function() {
      changeBy(-1);
    },
    getValue: function() {
      return privateCounter;
    }
  }
}

var counter1 = makeCounter();
counter1.increment();
counter1.increment();

var counter2 = makeCounter();
counter2.increment();
counter2.decrement();
counter2.increment();

관련글 더보기

댓글 영역