Yes. In ES modules, top-level this is undefined, but globalThis still refers to the global object. It is the correct way to access globals in module code.
globalThis in JavaScript: Why It Exists
Does globalThis work in ES modules?
The answer
More FAQs in globalThis in JavaScript: Why It Exists
A standard property introduced in ES2020 that always refers to the global object, regardless of environment. It is window in browsers, global in Node.js, and self in Web Workers.
Because the global object had different names in different environments (window, global, self). Writing portable code that needed the global object required verbose feature detection. globalThis unifies access.
Generally no. Polluting the global object is a bad practice that causes collisions and bugs. Use it only for library internals, polyfills, or capability detection.
Still have questions?
Browse all our FAQs or reach out to our support team
Want to upskill yourself?
Your learning library
Small steps. Big possibilities.
Find your next course. Build something great.