みかづきブログ その3

本ブログは更新を終了しました。通算140万ユーザーの方に観覧頂くことができました。長い間、ありがとうございました。

👆

引越し先はこちらです!

JavaScriptでシングルトンクラス的な挙動を実装する

単一のインスタンスを返すシングルトンクラスの実装をいろいろ検討してみました。

function SingletonClass() {

}

SingletonClass.getInstance = function() {
    if (!SingletonClass.instance) {
        SingletonClass.instance = new SingletonClass();
    }

    return SingletonClass.instance;
};

結局こんな形に落ち着いています。
getInstanceというクラスメソッドを叩いてインスタンスを生成する想定です。

SingletonClass.getInstance() === SingletonClass.getInstance()

問題点

  1. new で単一ではないインスタンスをつくれてしまう
  2. インスタンスがグローバルからアクセスできてしまう

即時実行関数で包んだり、モジュールパターンみたいすれば解決できるような気もするのですが、
あんまり困ってないので一旦これで良いのではないかと思っています。



【追記】
問題点を修正したシングルトンクラスを考えました。


JavaScriptでシングルトンクラス的な挙動を実装する その2 - みかづきブログ その3