Globales Objekt

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

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

In jeder JavaScript-Umgebung ist immer ein globales Objekt definiert. Die Schnittstelle 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 ausdrücklich als Hintergrundaufgabe startet, ein Window als globales Objekt. Dies betrifft den Großteil des JavaScript-Codes im Web.
  • Code, der in einem Worker ausgeführt wird, hat ein WorkerGlobalScope-Objekt als globales Objekt.
  • Skripte, die unter Node.js ausgeführt werden, haben ein Objekt namens global als ihr globales Objekt.

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

var-Anweisungen und Funktionsdeklarationen auf oberster Ebene eines Skripts erzeugen Eigenschaften des globalen Objekts. Andererseits erzeugen 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