読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

JavaScriptでシングルトン

JavaScriptでのシングルトンの書き方をいくつか。思いついた範囲で。

1.クラス変数的な感じでインスタンスを保持。

example.ClassX.instance = new example.ClassX();
example.ClassX.instance.call();

2.関数のインスタンス変数に仕込む。

example.ClassX.getInstance = function() {
  var self = arguments.callee;
  return self.instance || ( self.instance = new example.ClassX() );
};
example.ClassX.getInstance().call();

3.ローカル変数でprivateに、とかいうテクニックがあったような。

example.ClassX.getInstance = function() {
  var instance = new example.ClassX();
  return function() { return instance;};
}();
example.ClassX.getInstance().call();

4.クラス自体を差し替えてしまえ!

example.ClassX = new example.ClassX();
example.ClassX.call();

5.いっそのことこれでよくね?

example.ClassX.instance = {
  call: function(){ ... }
}
example.ClassX.instance.call();


個人的には、「DIコンテナに管理させる派」だったりするのでどれも使いませんが。