체이닝 패턴

자바스크립트 체이닝 패턴이란?

메서드 호출 시 함수 내부에 명백한 반환값 이 존재하지 않는다면, 객체 자신을(this)을
반환시켜
메서드를 마치 하나의 문장처럼 사용할 수 있게 작성하는 패턴입니다.

체이닝 패턴을 가장 잘 활용한 공개 프레임웍으로는 대표적으로 Jquery를 들 수 있습니다.

  1. var train = (function(){
  2.    
  3.     function instance(){
  4.         this.index = 0;
  5.         return this;
  6.     };
  7.  
  8.  
  9.     instance.prototype = {
  10.         get: get,
  11.         set: set
  12.     };
  13.  
  14.     function get(){
  15.         return this.index;
  16.     };
  17.  
  18.     function set(){
  19.         this.index++;
  20.        
  21.         // 함수 고유의 명백한 반환값이 존재하지 않는다면, 객체 자신인 this를 반환 시킨다.
  22.         return this;
  23.     };
  24.  
  25.     return new instance();
  26.  
  27. })();
  28.  
  29. alert(train.set().set().get()); // 2

앞서 말했듯이 train객체의 메서드 사용이 간결해 지는 것을 볼 수 있습니다.