- タイトルまんま
下記のコードでは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
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで | 山田 祥寛 | 工学 | Kindleストア | Amazon
Amazonで山田 祥寛の改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
コメント