Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Objet global

Un objet global est un objet qui existe toujours dans la portée globale.

Note : Objets disponibles globalement (c'est-à-dire les objets dans la portée globale) sont parfois aussi appelés objets globaux, mais à proprement parler, il n'existe qu'un seul objet global par environnement.

Dans chaque environnement JavaScript, il existe toujours un objet global défini. L'interface de l'objet global dépend du contexte d'exécution dans lequel le script s'exécute. Par exemple :

  • Dans un navigateur web, tout code que le script n'a pas explicitement lancé comme tâche d'arrière-plan a Window comme objet global. C'est la grande majorité du code JavaScript sur le Web.
  • Le code exécuté dans un Worker a WorkerGlobalScope comme objet global.
  • Les scripts exécutés sous Node.js ont un objet appelé global (angl.) comme objet global.

La propriété globale globalThis permet d'accéder à l'objet global quel que soit l'environnement courant.

Les instructions var et les déclarations de fonctions au niveau supérieur d'un script créent des propriétés de l'objet global. En revanche, les déclarations let et const ne créent jamais de propriétés de l'objet global.

Les propriétés de l'objet global sont automatiquement ajoutées à la portée globale.

En JavaScript, l'objet global détient toujours une référence à lui-même :

js
console.log(globalThis === globalThis.globalThis); // true (partout)
console.log(window === window.window); // true (dans un navigateur)
console.log(self === self.self); // true (dans un navigateur ou un Web Worker)
console.log(frames === frames.frames); // true (dans un navigateur)
console.log(global === global.global); // true (dans Node.js)

Voir aussi