📗
TIL
  • About
  • javascript
    • GoodParts
      • 프로토타입 방식
      • RegexComponent
      • 재귀적 호출 (Recursive Call)
      • 객체를 기술하는 객체
      • 예외 (Exception)
      • 호출
      • 문자열 (Strings)
      • 참조 (Reference)
      • 배열의 특성들
      • 숫자 (Numbers)
      • 메모이제이션 (Memoization)
      • 모듈 (Module)
      • 열거 (Enumeration)
      • 정규 표현식
      • 정규 표현식 객체 생성
      • 프로토타입 (Prototype)
      • 콜백 (Callback)
      • 문장 (Statements)
      • 함수 표현식 요약
      • 의사 클래스 방식 (Pseudoclassical)
      • 함수를 사용한 방식
      • 클로저 (Closer)
      • 배열 (Array)
      • 기본 타입에 기능 추가
      • 자바스크립트 분석
      • 인수 배열(arguments)
      • Function
      • 유효범위(Scope)
    • YouDon'tKnowJS
      • 타입
      • Native
      • 명시적 강제변환
      • 문자열
      • 함수 vs 블록 스코프
      • 클로저
      • 배열
      • 숫자
      • 연산자 우선순위
      • 스코프
      • 암시적 강제변환
      • 래퍼
      • Statement
      • 호이스팅
      • Coercion
    • javascript
Powered by GitBook
On this page

Was this helpful?

  1. javascript
  2. GoodParts

모듈 (Module)

  • 모듈의 일반적인 패턴은 private 변수와 함수를 정의하는 함수이다

  • 클로저를 통해 private 변수와 함수에 접근할 수 있는 권한이 있는 함수를 생성하고 이 함수를 반환하거나 접근 가능한 장소에 이를 저장하는 것이다

  • 모듈 패턴을 사용하면 전역변수 사용을 없앨 수 있고, 정보은닉과 그 외 다른 좋은 설계 방식을 따를 수 있으며, 애플리케이션이나 다른 싱글톤 패턴들을 효과적으로 캡슐화할 수 있게 한다

var serial_maker = function() {
  // 유일한 문자열을 생성하는 객체 생성
  // 유일한 문자열은 접두어와 연속된 숫자 두 부분으로 구성됨
  // 객체에는 접두어와 연속된 숫자를 설정하는 메소드와
  // 유일한 문자열을 생성하는 gensym 메소드가 있음

  var prefix = '';
  var seq = 0;
  return {
    set_prefix: function(p) {
      prefix = String(p);
    },
    set_seq: function(s) {
      seq = s;
    },
    gensym: function() {
      var result = prefix + seq;
      seq++;
      return result;
    }
  };
};

var seqer = serial_maker();
seqer.set_prefix('Q');
seqer.set_seq(1000);
var unique = seqer.gensym();
Previous메모이제이션 (Memoization)Next열거 (Enumeration)

Last updated 4 years ago

Was this helpful?