2015-11-08

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

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


2.jQueryを使わない方法

  1. var MyConstructor = function(opts) {
  2.  var defaults = {
  3. prop1: prop1_value, // オプション
  4. prop2: prop2_value, // オプション
  5. prop3: prop3_value, // 入力必須
  6. prop4: prop4_value // 入力必須
  7.  }
  8.  for ( var key in defaults ) {
  9.   if (defaults[key] == null) {
  10.    this[key] = opts[key];
  11.   } else {
  12.    this[key] = defaults[key];
  13.    if (opts[key]) this[key] = opts[key];
  14.   }
  15.  }
  16. }

Reference: