2012년 1월 25일 수요일

object-literal을 이용한 패턴

Object-literal은 아래처럼 new Object() 대신

var car = new Object();
car.goes = "far";

심플하게 JSON인

var car = {goes: "far"};
를 사용하는 패턴인데

$().ready(function() {
  $('#submit').click(function() {
    $('.container').slideUp(function() {
      // do something
    });
  });
  $('#navBar').bind('swipeleft', function() {
     // do something
  });
});

무기명 함수를 사용할 경우 흔히 발생하는 콜백 패크맨 형태를 정리하는데 사용할 수 있다.
사용 방법은 간단하다.
var app = {
  onReady: function() {
    $('#submit').click(app.onSubmit);
    $('#navBar').bind('swipeleft', app.onSwipeLeft);
  },
  onSubmit: function() {
    $('.container').slideUp(app.afterSlideUp);
  },
  afterSlideUp: function() {
    // do something
  },
  onSwipeLeft: function() {
    // do something
  }
};
$().ready(app.onReady);

콘솔 테스트나 유닛 테스트를 하기에도 편하고 가독성도 낫다.