Construct's event sheets fundamentally work differently to code. Consequently object expressions that you may enter in to conditions and actions are not directly accessible from script. Refer to the scripting reference for the methods and properties that are directly accessible from scripts. You can also still indirectly access things that are not directly exposed to scripts by passing values between scripts and event sheets - for an example of that see integrating events with script.
See the Imports & exports example for a demonstration of using modules in Construct.
When the Use worker project property is Yes, the Construct runtime is hosted in a Web Worker instead of in the DOM, and renders using an OffscreenCanvas. This is generally good for performance since the runtime can run independently of the browser main thread, which can be blocked by browser tasks like layout. However Web Workers have a reduced set of APIs available. Notably there are no window or document objects available, and so the DOM cannot be directly accessed. However there are many other APIs still available, such as fetch (and the older XMLHttpRequest), IndexedDB, WebSocket and others - see Functions and classes available to workers for more details.
Sometimes the window object is used to refer to global scope, such as with window.myGlobal = 1;. Note however that the window object is not available in worker mode, so this won't work there.
window.myGlobal = 1;
The standard way of accessing the global scope is with globalThis, such as with globalThis.myGlobal = 1;. Since this is available in both the DOM and Web Workers, this code will work everywhere. Construct also polyfills this if it is missing, so there is no need to worry about browser support.
globalThis.myGlobal = 1;
Note this only applies to the Construct engine - all other browser APIs are of course available for use.