Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

386
Vistas
How can I access JavaScript Class and it's methods in browser Window object?

I have a JavaScript class that I want to read and set a property called selection of it from another file, and I was trying to access the class/methods from the browser window object, but the class doesn't show up there.

I see other classes like JQuery. How can I get my class to show up in the window for global access?

Here's what I was hoping to do:

class UI {
    constructor() {
        this.selection = {}; // I want to read and set this property
    }

}

And from another file, I was hoping to do something like this:

if( window.UI.selection.name ) {
    window.UI.selection.name = 'A new name';
};

Is there a way to make a class globally accessible in the window?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

On access to UI

Since classes are a part of modern JS they, like let and const variables, do not attach themselves to the window object if they are created in the global scope.

You can access the UI class with its name, even in a different file, so long as you don't shadow the UI variable.

<script>
class UI {
    constructor() {
        this.selection = {}; // I want to read and set this property
    }

}
</script>

<script>
    console.log(UI);
</script>

The exception to this is if you are using modules, in which case each module will have its own scope.

In that case you could explicitly assign the the window object (window.UI = UI) but you shouldn't. Use import and export instead.

On access to UI.selection.name

selection is an object which is created on instances of the UI class by the constructor function.

It only appears on instances of the class and does not appear on the class itself.

To access that you must first create an instance:

const ui = new UI();
ui.selection.name = "foo";
about 4 years ago · Juan Pablo Isaza Denunciar

0

If you want to define a class and use its own instance variable, you can do this

class UI {
    constructor() {
        this.selection = {}; // I want to read and set this property
    }
}

window.UI = new UI()
window.UI.selection.name = "foo"
console.log(window.UI.selection.name)

If you want to use class without new but with static variable, you can write the following:

class UI {
    static selection = {}
}

window.UI = UI
window.UI.selection.name = "foo"
console.log(window.UI.selection.name)

Refrence:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda