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