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();