Singleton Pattern [Design Pattern]

  • タイトルまんま

下記のコードではconsoleで’same instance’が表示されます
つまりSingleton.getInstance()を2回読んでも同じインスタンスですね!

const Singleton = (() => {  // IIF関数
   let singleton;

   const getNewInstance = () => new Object(‘Singleton’);

   return {
       getInstance: () => {
           if (!singleton) {
            singleton = getNewInstance();
           }
           return singleton;
       }
   }
})();

const firstInstance = Singleton.getInstance();
const secondInstance = Singleton.getInstance();

if (firstInstance === secondInstance) {
   console.log(‘same instance’)
}

挙動がどうなっているか、気になる所だと思います
そんな時は’Python Tutor’!
Pythonって名前だけどJava Scriptも確認できるよ!

ここに上記のコードを貼ったものを載せて起きます
リンク先のVisualize Executionボタンを押して是非挙動を確認してみてください!

Amazon.co.jp
Amazon.co.jp

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

コメント

タイトルとURLをコピーしました