Singleton Pattern in JavaScript
In the Singleton Pattern in JavaScript, there is exactly one instance of a class and there is no way to create multiple instances of the same class. Singleton objects are generally used to manage global state in an application.
let firebaseInstance = null;
export const getFirebase = () => {
if (firebaseInstance !== null) {
return firebaseIntance;
}
firebase.initializeApp(config);
firebaseInstance = firebase;
return firebaseInstance;
};
Using ES6 Classes
let singletonInstance = null;
class Singleton {
constructor() {
if (!singletonInstance) {
singletonInstance = this;
console.log('Instance created');
}
return singletonInstance;
}
}
const singletonObject = new Singleton();
Using ES7 Classes
class Singleton {
static singletonInstance = null;
static getSingletonInstance() {
if (!Singleton.singletonInstance) {
Singleton.singletonInstance = new Singleton();
console.log('Instance created');
}
return Singleton.singletonInstance;
}
}
const singletonObject = Singleton.getSingletonInstance();
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory