Image source: https://blog.yipl.com.np/backend-knowledge-sharing-19-8ba52645d927
The global execution context is the default execution context created before the JS engine starts run through any code.
You might have heard terms like scope, scope chain and this.
Here is why it is important for the execution context to have them:
Scope: Every execution context needs to define its scope; it needs to decide which functions and variables should have direct access to it.
Scope chain: Aside from the individual scopes of the execution context, there are also references to an execution context's outer and global scopes. This chain of reference is known as the scope chain.
You can access global variables from local scopes, but cannot access local variables from global scopes.
this: This (this keyword) is a special variable that allows access to an object to which the current code is being executed. In the global execution context, this allows access to the Window object.
Final points to answer your question