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