2015-11-08

javascript:コンストラクタのオプションの渡し方

1.jQueryを使う方法
var MyConstructor = function(opts) {
 var defaults = {
     prop1: prop1_value, // オプション
     prop2: prop2_value  // オプション
 };
 $.extend(true, this, defaults, opts); // デフォルトオプションと渡されたオプションのマージ
}


2.jQueryを使わない方法

var MyConstructor = function(opts) {
 var defaults = {
   prop1: prop1_value, // オプション
   prop2: prop2_value, // オプション
   prop3: prop3_value, // 入力必須
   prop4: prop4_value  // 入力必須
 }
 for ( var key in defaults ) {
  if (defaults[key] == null) {
   this[key] = opts[key];
  } else {
   this[key] = defaults[key];
   if (opts[key]) this[key] = opts[key];
  }
 }
}

Reference: