はじめに
次はシングルトン。
説明
シングルトンパターン
作成されるクラスのインスタンスが1つのオブジェクトに制限。
JavaScriptのシングルトンは関数へのアクセスポイントをただ1つ提供。
var singleton = (function(){
// シングルトンへの参照保持
var instance;
function init(){
// プライベートメソッド
function introduction(){
console.log("I am John.");
}
// プライベート変数
var age = 28;
return {
// パブリックメソッド
publicIntroduction: function(){
console.log("John is " + age + "years old.");
},
// パブリック変数
publicAge: 18
}
};
return {
// インスタンスが存在するかのチェックと
// 存在しなかった場合の作成処理
getInstance: function(){
if(!instance){
instance = init();
}
return instance;
}
}
}());
var singletonA = singleton.getInstance();
var singletonB = singleton.getInstance();
console.log(singletonA === singletonB ? "2つは同じインスタンス" : "別物");
// 2つは同じインスタンス
参考
- JavaScriptデザインパターン