|
|
|
:
; 1. Return empty . :
async
(
)
{
} 1. Return Environment Record is a specification type used to define the association of functions, based upon the lexical nesting structure of ECMAScript code. Usually an Environment Record is associated clause of a . Each time such code is evaluated, a new Environment Record is created to record the identifier bindings that are created by that code. Every Environment Record has an [[OuterEnv]] field, which is either null or a reference to an outer Environment Record. This is used to model the logical nesting of Environment Record values. The outer reference of an (inner) contains two nested s then the Environment Records of each of the nested functions will have as their outer Environment Record the Environment Record of the current evaluation of the surrounding function. Environment Records are purely specification mechanisms and need not correspond to any specific artefact of an Environment Records can be thought of as existing in a simple object-oriented hierarchy where is an abstract class with three concrete subclasses: declarative Environment Record , and . Function Environment Records and module Environment Records are subclasses of declarative Environment Record (abstract) declarative Environment Record is used to define the effect of ECMAScript language syntactic elements s, and clauses that directly associate identifier bindings with ECMAScript language values. corresponds to the invocation of an ECMAScript and contains bindings for the top-level declarations within that function. It may establish a new this this binding. It also captures the state necessary to support super super method invocations. contains the bindings for the top-level declarations of a 9 Executable Code and Execution Contexts 9.1 Environment Records 9.1.1 The Environment Record Type Hierarchy 186 |