Puoi parlare della differenza tra Global Object e Global Objects in JavaScript?

Feb 23 2023
Prima di rispondere alla domanda, diamo un'occhiata agli oggetti in JavaScript. In poche parole, un oggetto è una struttura dati che include dati e funzioni.
Ciao, sono Hardy.

Prima di rispondere alla domanda, diamo un'occhiata agli oggetti in JavaScript.

In poche parole, un oggetto è una struttura dati che include dati e funzioni.

Comunemente, un oggetto viene indicato come qualcosa allocato in memoria in base alla sua definizione in una classe, ma in ECMAScript gli oggetti non sono fondamentalmente basati sulle classi. Invece, vengono creati dai costruttori con una proprietà chiamata prototipo.

In JavaScript, gli oggetti possono essere suddivisi in vari tipi.

Gli oggetti incorporati sono oggetti definiti nella specifica ECMAScript. Pertanto, forniscono funzionalità comuni a tutta l'applicazione a livello globale e non sono fortemente influenzate dall'ambiente di runtime JavaScript, rendendole sempre disponibili. Gli esempi includono Math, Date, String, Array, Object, Function e altro.

Gli oggetti host sono oggetti definiti nell'ambiente host, in termini semplici. Gli ambienti host come i browser Web e Node.js forniscono oggetti e funzioni specifici della piattaforma oltre a ECMAScript. Gli esempi nei browser Web includono finestra, documento, XMLHttpRequest, immagine, audio e altro.

Gli oggetti definiti dall'utente si riferiscono a oggetti che gli sviluppatori stessi definiscono. Possono essere definiti usando oggetti letterali, funzioni di costruzione, classi, ecc.

Per quanto riguarda la domanda se Global Object e Global Objects significhino o meno la stessa cosa, la risposta è diversa.

Gli oggetti globali sono gli oggetti incorporati menzionati in precedenza.

L'oggetto globale è spesso integrato nel linguaggio o nell'ambiente host.

In un ambiente browser, l'oggetto globale è chiamato "window", mentre in un ambiente Node.js è chiamato "global", sebbene i nomi possano differire a seconda dell'ambiente host.

Per tua informazione, c'è anche un contenuto che standardizza il nome dell'oggetto globale come globalThis. (Dai un'occhiata su MDN )

Global Object e Global Objects hanno significati diversi, quindi fai attenzione a non confonderli.

Sentiti libero di correggere eventuali malintesi o condividere le conoscenze su questo argomento!