Priv and Pub es mi forma de simular Private y Public;()() para que funcione como yo quiero. Quiero poder escribir Priv.whateverProp() , entonces la pantalla de finalización se apply, bind, call etcgetInstance()() .completions** nuevamente para acceder a las propiedades de la instancia, pero cuando ejecuto el programa, dice SingletonFinder().getInstance() is not a functionPriv().whaterverProp en lugar de Priv.whateverProp para el resto del código, que no quiero.let Priv = SingletonFinder().getInstance()() ? function GetFinder(){ let Pub = {} let Priv = SingletonFinder().getInstance()() // the rest of the code... } function SingletonFinder() { let Priv = {} let Pub = {} /** @type {Class_Finder} */ Priv.instance = null; Priv.createInstance = function () { return Class_Finder } Pub.getInstance = function () { if(!Priv.instance) { Priv.instance = Priv.createInstance() } return Priv.instance }; return Pub } function Class_Finder() { // properties }