JavaScriptでgetter/setter自動生成のクラスを作る
以下のようにする。
// ここで、一文字目を大文字にして返すだけのメソッドを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のテクニックの紹介です…。




