You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<dd>It determines if the argument identifier is one of the identifiers bound by the record.</dd>
10164
10248
</dl>
10165
10249
<emu-alg>
10166
-
1. If _envRec_.[[Bindings]] contains a binding for the name that is the value of _N_, return *true*.
10250
+
1. If _envRec_.[[Bindings]] contains a DeclarativeBindingRecord whose [[BoundName]] field is equal to the value of _N_, return *true*.
10167
10251
1. Return *false*.
10168
10252
</emu-alg>
10169
10253
</emu-clause>
@@ -10184,7 +10268,7 @@ <h1>
10184
10268
</dl>
10185
10269
<emu-alg>
10186
10270
1. Assert: _envRec_.HasBinding(_N_) is *false*.
10187
-
1. Let _binding_ be a mutable binding for _N_ and record that it is uninitialized. If _D_ is *true*, record that the newly created binding may be deleted by a subsequent DeleteBinding call.
10271
+
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[IsInitialized]]: *false*, [[BoundValue]]: *undefined*, [[IsMutable]]: *true*, [[IsDeletable]]: _D_, [[IsStrict]]: *false* }.
10188
10272
1. Append _binding_ to _envRec_.[[Bindings]].
10189
10273
1. Return NormalCompletion(~empty~).
10190
10274
</emu-alg>
@@ -10206,7 +10290,7 @@ <h1>
10206
10290
</dl>
10207
10291
<emu-alg>
10208
10292
1. Assert: _envRec_.HasBinding(_N_) is *false*.
10209
-
1. Let _binding_ be an immutable binding for _N_ and record that it is uninitialized. If _S_ is *true*, record that the newly created binding is a strict binding.
10293
+
1. Let _binding_ be DeclarativeBindingRecord { [[BoundName]]: _N_, [[IsInitialized]]: *false*, [[BoundValue]]: *undefined*, [[IsMutable]]: *false*, [[IsDeletable]]: *false*, [[IsStrict]]: _S_ }.
10210
10294
1. Append _binding_ to _envRec_.[[Bindings]].
10211
10295
1. Return NormalCompletion(~empty~).
10212
10296
</emu-alg>
@@ -10228,10 +10312,10 @@ <h1>
10228
10312
</dl>
10229
10313
<emu-alg>
10230
10314
1. Assert: _envRec_.HasBinding(_N_) is *true*.
10231
-
1. Let _binding_ be the binding for _N_ in _envRec_.[[Bindings]].
10232
-
1. Assert: _binding_ is uninitialized.
10233
-
1. Set the bound value of _binding_ to _V_.
10234
-
1. <emu-not-ref>Record</emu-not-ref> that _binding_ has been initialized.
10315
+
1. Let _binding_ be the DeclarativeBindingRecord in _envRec_.[[Bindings]] whose [[BoundName]] field equals _N_.
10316
+
1. Assert: _binding_.[[IsInitialized]] is *false*.
<p>The [[Bindings]] of a Module Environment Record can include ImportDeclarativeBindingRecords. These have all the fields of DeclarativeBindingRecords, plus the additional state fields listed in the following table.</p>
11407
+
<emu-table id="table-additional-fields-of-importdeclarativebindingrecords" caption="Additional Fields of ImportDeclarativeBindingRecords">
11408
+
<table>
11409
+
<tr>
11410
+
<th>
11411
+
Field Name
11412
+
</th>
11413
+
<th>
11414
+
Value
11415
+
</th>
11416
+
<th>
11417
+
Meaning
11418
+
</th>
11419
+
</tr>
11420
+
<tr>
11421
+
<td>
11422
+
[[TargetModuleRec]]
11423
+
</td>
11424
+
<td>
11425
+
a Module Record
11426
+
</td>
11427
+
<td>
11428
+
?
11429
+
</td>
11430
+
</tr>
11431
+
<tr>
11432
+
<td>
11433
+
[[TargetName]]
11434
+
</td>
11435
+
<td>
11436
+
a String
11437
+
</td>
11438
+
<td>
11439
+
the name of a binding that exists in [[TargetModuleRec]]'s module Environment Record.
11440
+
</td>
11441
+
</tr>
11442
+
</table>
11443
+
</emu-table>
11322
11444
<p>The behaviour of the additional concrete specification methods for module Environment Records are defined by the following algorithms:</p>
1. If _binding_ is an uninitialized binding, throw a *ReferenceError* exception.
11348
-
1. Return the value currently bound in _binding_.
11470
+
1. If _binding_.[[IsInitialized]] is *false*, throw a *ReferenceError* exception.
11471
+
1. Return _binding_.[[BoundValue]].
11349
11472
</emu-alg>
11350
11473
<emu-note>
11351
11474
<p>_S_ will always be *true* because a |Module| is always strict mode code.</p>
@@ -11403,7 +11526,7 @@ <h1>
11403
11526
<emu-alg>
11404
11527
1. Assert: _envRec_.HasBinding(_N_) is *false*.
11405
11528
1. Assert: When _M_.[[Environment]] is instantiated it will have a direct binding for _N2_.
11406
-
1. Let _binding_ be an immutable indirect binding for _N_ that references _M_ and _N2_ as its target binding and record that the binding is initialized.
@@ -47560,8 +47683,8 @@ <h1>Changes to BlockDeclarationInstantiation</h1>
47560
47683
</emu-alg>
47561
47684
<p>During BlockDeclarationInstantiation the following steps are performed in place of step <emu-xref href="#step-blockdeclarationinstantiation-initializebinding"></emu-xref>:</p>
0 commit comments