Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

380
Views
¿Cómo puedo acceder a la clase de JavaScript y sus métodos en el objeto de la ventana del navegador?

Tengo una clase de JavaScript que quiero leer y establecer una propiedad llamada selection de otro archivo, y estaba tratando de acceder a la clase/métodos desde el objeto de la window del navegador, pero la clase no aparece allí.

Veo otras clases como JQuery. ¿Cómo puedo hacer que mi clase aparezca en la ventana de acceso global?

Esto es lo que esperaba hacer:

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

Y de otro archivo, esperaba hacer algo como esto:

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

¿Hay alguna manera de hacer que una clase sea accesible globalmente en la window ?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

En el acceso a la interfaz de usuario

Dado que las clases son parte del JS moderno, al igual que las variables let y const , no se adjuntan al objeto de window si se crean en el ámbito global.

Puede acceder a la clase de interfaz de usuario con su nombre, incluso en un archivo diferente, siempre que no oculte la variable de interfaz de usuario.

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

La excepción a esto es si está utilizando módulos, en cuyo caso cada módulo tendrá su propio alcance.

En ese caso, podría asignar explícitamente el objeto de la window ( window.UI = UI ) pero no debería hacerlo. Utilice import y export en su lugar.

Al acceder a UI.selection.name

La selection es un objeto que se crea en instancias de la clase UI mediante la función constructora.

Solo aparece en instancias de la clase y no aparece en la clase misma.

Para acceder a eso, primero debe crear una instancia:

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

0

Si desea definir una clase y usar su propia variable de instancia, puede hacerlo

 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)

Si desea utilizar la clase sin new pero con variable estática, puede escribir lo siguiente:

 class UI { static selection = {} } window.UI = UI window.UI.selection.name = "foo" console.log(window.UI.selection.name)

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

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!