Each of these records is associated with one Ecmascript Program scope, containing variable and/or function declarations. These are the variables or functions declared in the Lexical Environment to which this record belongs.
Declarative Environment Records also support Immutable bindings (Object Environment Records do not), which cannot be changed or deleted once set. They must first be created (and are uninitialized) and then be set. To this end two additional methods are defined for this record type:
- Undefined CreateImmutableBinding(N:String)
Create new uninitialized immutable binding.
- Undefined InitializeImmutableBinding(N:String, V:mixed)
Initialize a created uninitialized immutable binding.