DRAFT
Observed
There isn't a global object
There is always a global object
Before starting the execution, JavaScript creates a global object.
When we use the keyword this outside specific environments it always refers to this global object.
JavaScript can run in very different contexts (a browser, a Web Worker, NodeJS, and so on…) and each of them used to have a special
keyword to refer to the global object (window, self, global). Newer versions of the JavaScript specification have standardized globalThis as the proper way to refer to the global object from anywhere in the code.
