Globales Objekt

Das globale Objekt in JavaScript ist ein Objekt, das den globalen Bereich repräsentiert.

Note: Global verfügbare Objekte, die Objekte im globalen Bereich sind, werden manchmal auch als globale Objekte bezeichnet. Streng genommen gibt es jedoch nur ein globales Objekt pro Umgebung.

In jeder JavaScript-Umgebung ist immer ein globales Objekt definiert. Das Interface des globalen Objekts hängt vom Ausführungskontext ab, in dem das Skript läuft. Zum Beispiel:

  • In einem Webbrowser hat jeder Code, den das Skript nicht speziell als Hintergrundaufgabe startet, ein Window als globales Objekt. Dies betrifft die überwiegende Mehrheit von JavaScript-Code im Web.
  • Code, der in einem Worker ausgeführt wird, hat ein WorkerGlobalScope-Objekt als globales Objekt.
  • Skripte, die unter Node.js laufen, haben ein Objekt namens global als globales Objekt.

Die globalThis-globale Eigenschaft ermöglicht den Zugriff auf das globale Objekt unabhängig von der aktuellen Umgebung.

var-Anweisungen und Funktionsdeklarationen auf der obersten Ebene eines Skripts erstellen Eigenschaften des globalen Objekts. Andererseits erstellen let und const-Deklarationen niemals Eigenschaften des globalen Objekts.

Die Eigenschaften des globalen Objekts werden automatisch zum globalen Bereich hinzugefügt.

In JavaScript hält das globale Objekt immer eine Referenz auf sich selbst:

js
console.log(globalThis === globalThis.globalThis); // true (everywhere)
console.log(window === window.window); // true (in a browser)
console.log(self === self.self); // true (in a browser or a Web Worker)
console.log(frames === frames.frames); // true (in a browser)
console.log(global === global.global); // true (in Node.js)

Siehe auch