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
Copy file name to clipboardExpand all lines: spec.html
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -10153,7 +10153,7 @@ <h1>
10153
10153
<dd>a declarative Environment Record _envRec_</dd>
10154
10154
10155
10155
<dt>description</dt>
10156
-
<dd>It creates a new mutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _D_ has the value *true*, the new binding is marked as being subject to deletion.</dd>
10156
+
<dd>It creates a new mutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _D_ is *true*, the new binding is marked as being subject to deletion.</dd>
10157
10157
</dl>
10158
10158
<emu-alg>
10159
10159
1. Assert: _envRec_ does not already have a binding for _N_.
@@ -10174,7 +10174,7 @@ <h1>
10174
10174
<dd>a declarative Environment Record _envRec_</dd>
10175
10175
10176
10176
<dt>description</dt>
10177
-
<dd>It creates a new immutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _S_ has the value *true*, the new binding is marked as a strict binding.</dd>
10177
+
<dd>It creates a new immutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _S_ is *true*, the new binding is marked as a strict binding.</dd>
10178
10178
</dl>
10179
10179
<emu-alg>
10180
10180
1. Assert: _envRec_ does not already have a binding for _N_.
<p>Each <dfn variants="object Environment Records">object Environment Record</dfn> is associated with an object called its <em>binding object</em>. An object Environment Record binds the set of string identifier names that directly correspond to the property names of its binding object. Property keys that are not strings in the form of an |IdentifierName| are not included in the set of bound identifiers. Both own and inherited properties are included in the set regardless of the setting of their [[Enumerable]] attribute. Because properties can be dynamically added and deleted from objects, the set of identifiers bound by an object Environment Record may potentially change as a side-effect of any operation that adds or deletes properties. Any bindings that are created as a result of such a side-effect are considered to be a mutable binding even if the Writable attribute of the corresponding property has the value *false*. Immutable bindings do not exist for object Environment Records.</p>
10327
+
<p>Each <dfn variants="object Environment Records">object Environment Record</dfn> is associated with an object called its <em>binding object</em>. An object Environment Record binds the set of string identifier names that directly correspond to the property names of its binding object. Property keys that are not strings in the form of an |IdentifierName| are not included in the set of bound identifiers. Both own and inherited properties are included in the set regardless of the setting of their [[Enumerable]] attribute. Because properties can be dynamically added and deleted from objects, the set of identifiers bound by an object Environment Record may potentially change as a side-effect of any operation that adds or deletes properties. Any bindings that are created as a result of such a side-effect are considered to be a mutable binding even if the Writable attribute of the corresponding property is *false*. Immutable bindings do not exist for object Environment Records.</p>
10328
10328
<p>Object Environment Records created for `with` statements (<emu-xref href="#sec-with-statement"></emu-xref>) can provide their binding object as an implicit *this* value for use in function calls. The capability is controlled by a Boolean [[IsWithEnvironment]] field.</p>
10329
10329
<p>Object Environment Records have the additional state fields listed in <emu-xref href="#table-additional-fields-of-object-environment-records"></emu-xref>.</p>
10330
10330
<emu-table id="table-additional-fields-of-object-environment-records" caption="Additional Fields of Object Environment Records">
@@ -10404,7 +10404,7 @@ <h1>
10404
10404
<dd>an object Environment Record _envRec_</dd>
10405
10405
10406
10406
<dt>description</dt>
10407
-
<dd>It creates in an Environment Record's associated binding object a property whose name is the String value and initializes it to the value *undefined*. If _D_ has the value *true*, the new property's [[Configurable]] attribute is set to *true*; otherwise it is set to *false*.</dd>
10407
+
<dd>It creates in an Environment Record's associated binding object a property whose name is the String value and initializes it to the value *undefined*. If _D_ is *true*, the new property's [[Configurable]] attribute is set to *true*; otherwise it is set to *false*.</dd>
10408
10408
</dl>
10409
10409
<emu-alg>
10410
10410
1. Let _bindingObject_ be _envRec_.[[BindingObject]].
1. If _envRec_.[[ThisBindingStatus]] is ~lexical~, return *false*.
10691
-
1. If _envRec_.[[FunctionObject]].[[HomeObject]] has the value *undefined*, return *false*; otherwise, return *true*.
10691
+
1. If _envRec_.[[FunctionObject]].[[HomeObject]] is *undefined*, return *false*; otherwise, return *true*.
10692
10692
</emu-alg>
10693
10693
</emu-clause>
10694
10694
@@ -10713,7 +10713,7 @@ <h1>GetSuperBase ( )</h1>
10713
10713
</dl>
10714
10714
<emu-alg>
10715
10715
1. Let _home_ be _envRec_.[[FunctionObject]].[[HomeObject]].
10716
-
1. If _home_ has the value *undefined*, return *undefined*.
10716
+
1. If _home_ is *undefined*, return *undefined*.
10717
10717
1. Assert: Type(_home_) is Object.
10718
10718
1. Return ? _home_.[[GetPrototypeOf]]().
10719
10719
</emu-alg>
@@ -10896,7 +10896,7 @@ <h1>
10896
10896
<dd>a global Environment Record _envRec_</dd>
10897
10897
10898
10898
<dt>description</dt>
10899
-
<dd>It creates a new mutable binding for the name _N_ that is uninitialized. The binding is created in the associated DeclarativeRecord. A binding for _N_ must not already exist in the DeclarativeRecord. If _D_ has the value *true*, the new binding is marked as being subject to deletion.</dd>
10899
+
<dd>It creates a new mutable binding for the name _N_ that is uninitialized. The binding is created in the associated DeclarativeRecord. A binding for _N_ must not already exist in the DeclarativeRecord. If _D_ is *true*, the new binding is marked as being subject to deletion.</dd>
10900
10900
</dl>
10901
10901
<emu-alg>
10902
10902
1. Let _DclRec_ be _envRec_.[[DeclarativeRecord]].
@@ -10917,7 +10917,7 @@ <h1>
10917
10917
<dd>a global Environment Record _envRec_</dd>
10918
10918
10919
10919
<dt>description</dt>
10920
-
<dd>It creates a new immutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _S_ has the value *true*, the new binding is marked as a strict binding.</dd>
10920
+
<dd>It creates a new immutable binding for the name _N_ that is uninitialized. A binding must not already exist in this Environment Record for _N_. If _S_ is *true*, the new binding is marked as a strict binding.</dd>
10921
10921
</dl>
10922
10922
<emu-alg>
10923
10923
1. Let _DclRec_ be _envRec_.[[DeclarativeRecord]].
1. If _oldLenDesc_.[[Writable]] is *false*, return *false*.
14104
-
1. If _newLenDesc_.[[Writable]] is absent or has the value *true*, let _newWritable_ be *true*.
14104
+
1. If _newLenDesc_.[[Writable]] is absent or is *true*, let _newWritable_ be *true*.
14105
14105
1. Else,
14106
14106
1. NOTE: Setting the [[Writable]] attribute to *false* is deferred in case any elements cannot be deleted.
14107
14107
1. Let _newWritable_ be *false*.
@@ -47705,7 +47705,7 @@ <h1>The Strict Mode of ECMAScript</h1>
47705
47705
A conforming implementation, when processing strict mode code, must disallow instances of the productions <emu-grammar>EscapeSequence :: LegacyOctalEscapeSequence</emu-grammar> and <emu-grammar>EscapeSequence :: NonOctalDecimalEscapeSequence</emu-grammar>.
47706
47706
</li>
47707
47707
<li>
47708
-
Assignment to an undeclared identifier or otherwise unresolvable reference does not create a property in the global object. When a simple assignment occurs within strict mode code, its |LeftHandSideExpression| must not evaluate to an unresolvable Reference. If it does a *ReferenceError* exception is thrown (<emu-xref href="#sec-putvalue"></emu-xref>). The |LeftHandSideExpression| also may not be a reference to a data property with the attribute value { [[Writable]]: *false* }, to an accessor property with the attribute value { [[Set]]: *undefined* }, nor to a non-existent property of an object whose [[Extensible]] internal slot has the value *false*. In these cases a `TypeError` exception is thrown (<emu-xref href="#sec-assignment-operators"></emu-xref>).
47708
+
Assignment to an undeclared identifier or otherwise unresolvable reference does not create a property in the global object. When a simple assignment occurs within strict mode code, its |LeftHandSideExpression| must not evaluate to an unresolvable Reference. If it does a *ReferenceError* exception is thrown (<emu-xref href="#sec-putvalue"></emu-xref>). The |LeftHandSideExpression| also may not be a reference to a data property with the attribute value { [[Writable]]: *false* }, to an accessor property with the attribute value { [[Set]]: *undefined* }, nor to a non-existent property of an object whose [[Extensible]] internal slot is *false*. In these cases a `TypeError` exception is thrown (<emu-xref href="#sec-assignment-operators"></emu-xref>).
47709
47709
</li>
47710
47710
<li>
47711
47711
An |IdentifierReference| with the StringValue *"eval"* or *"arguments"* may not appear as the |LeftHandSideExpression| of an Assignment operator (<emu-xref href="#sec-assignment-operators"></emu-xref>) or of an |UpdateExpression| (<emu-xref href="#sec-update-expressions"></emu-xref>) or as the |UnaryExpression| operated upon by a Prefix Increment (<emu-xref href="#sec-prefix-increment-operator"></emu-xref>) or a Prefix Decrement (<emu-xref href="#sec-prefix-decrement-operator"></emu-xref>) operator.
0 commit comments