オブジェクトの生成にnew演算子を使わないのが今どきらしい。じゃあ、どうすりゃいいのよ? こんなんで良さげ。 var Hoge = Object.create({}, { // プロパティ val: { set: function(a){ this._a = a }, get: function(){ return this._a }}, // メソッド add: { value: function(a){ this._a += a } }, // イニシャライザ init: { value: function(a){ this.val = a; return this; } } }); var h = Object.create(Hoge).init(1); h.add(4); h.add(2); console.log("value:" + h.val) メソッドはvalueにfunc