Home

読み込み中...

JavaScriptでgetter/setter自動生成のクラスを作る

2009/09/12

このエントリーをはてなブックマークに追加

以下のようにする。

// ここで、一文字目を大文字にして返すだけのメソッドをStringに追加。
String.prototype.subCapitalize = function() {
  return this.charAt(0).toUpperCase() + this.substring(1);
}

// クラスを生成
var Obj = function(fields) {
  for (var i = 0, len = fields.length; i < len; i++) {
    this['get' + fields[i].subCapitalize()] = function() {
      return this[fields[i]];
    };
    this['set' + fields[i].subCapitalize()] = function(arg) {
      this[fields[i]] = arg;
    };
  }
};

上みたいなことを書いておくと、、

var human = new Obj(['name', 'age']);
human.setName('Yuyak');
alert(human.getName());// Yuyak

このように使えます。
単に、JavaScriptのテクニックの紹介です…。

Leave a comment