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
Windowcomme objet global. C'est la grande majorité du code JavaScript sur le Web. - Le code exécuté dans un
WorkeraWorkerGlobalScopecomme 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 :
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
- Termes associés du glossaire :
- La propriété globale JavaScript
globalThis - L'interface
Window - L'interface
WorkerGlobalScope - La propriété
Window.window - La propriété
Window.self - La propriété
Window.frames - La propriété
WorkerGlobalScope.self global(angl.) sur nodejs.org