- タイトルまんま
下記のコードでは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ボタンを押して是非挙動を確認してみてください!

増補改訂版 Java言語で学ぶデザインパターン入門 | 結城 浩 | コンピュータ・IT | Kindleストア | Amazon
Amazonで結城 浩の{ProductTitle}。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

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