またJavaScriptで遊んでる。前回→JavaScriptでnew演算子をつけてもつけなくても同じようにインスタンスを作成 - yuyakkoの日記 初期化の部分を別の関数に分けておけばコピペせずにコンストラクタを使い回せそうだったので試す。 最初は失敗。 function SafeConstructor(){ var callee = arguments.callee; if(this instanceof callee){ this.init.apply(this, arguments); }else{ var EmptyConstructor = function(){} EmptyConstructor.prototype = callee.prototype; var obj = new EmptyConstructor; obj.init.apply(obj, argume
![JavaScriptでnew演算子をつけてもつけなくても同じようにインスタンスを作成の続き - yuyakkoの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/cd7f069bcf5ecffdd571b8134957aeca14d6a945/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fy%2Fyuyakko%2F20100505%2F20100505061616.png)