http://qiita.com/hosomichi/items/c7d3cae7884a5e12a064
functionに似た使い方のキーワードget/setを利用して、オブジェクトにプロパティを持たせることができる。
// 基本 var man = { _age: 0, get age() { return "age:" + this._age; }, set age(val) { this._age = val; } }; // クロージャでメンバ変数を隠匿するパターン var man = (function() { var _age = 0; return { get age() { return "age:" + _age; }, set age(val) { _age = val; } } }()); // オブジェクト定義後にGetter/Setterを追加 var man = { _age: 0 }; man.__defineGetter__('age', function() { return "age:" + this._age; }); man.__defineSetter__('age', function(val) { this._age = val; });