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
+31-28Lines changed: 31 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -47541,25 +47541,26 @@ <h1>Changes to FunctionDeclarationInstantiation</h1>
47541
47541
<h1>Changes to GlobalDeclarationInstantiation</h1>
47542
47542
<p>During GlobalDeclarationInstantiation the following steps are performed in place of step <emu-xref href="#step-globaldeclarationinstantiation-web-compat-insertion-point"></emu-xref>:</p>
1. Let _declaredFunctionOrVarNames_ be the list-concatenation of _declaredFunctionNames_ and _declaredVarNames_.
47547
-
1. For each |FunctionDeclaration| _f_ that is directly contained in the |StatementList| of a |Block|, |CaseClause|, or |DefaultClause| Contained within _script_, do
47548
-
1. Let _F_ be StringValue of the |BindingIdentifier| of _f_.
47549
-
1. If replacing the |FunctionDeclaration| _f_ with a |VariableStatement| that has _F_ as a |BindingIdentifier| would not produce any Early Errors for _script_, then
47550
-
1. If _env_.HasLexicalDeclaration(_F_) is *false*, then
47551
-
1. Let _fnDefinable_ be ? _env_.CanDeclareGlobalVar(_F_).
47552
-
1. If _fnDefinable_ is *true*, then
47553
-
1. NOTE: A var binding for _F_ is only instantiated here if it is neither a VarDeclaredName nor the name of another |FunctionDeclaration|.
47554
-
1. If _declaredFunctionOrVarNames_ does not contain _F_, then
1. When the |FunctionDeclaration| _f_ is evaluated, perform the following steps in place of the |FunctionDeclaration| Evaluation algorithm provided in <emu-xref href="#sec-function-definitions-runtime-semantics-evaluation"></emu-xref>:
47558
-
1. Let _genv_ be the running execution context's VariableEnvironment.
47559
-
1. Let _benv_ be the running execution context's LexicalEnvironment.
47560
-
1. Let _fobj_ be ! _benv_.GetBindingValue(_F_, *false*).
1. Let _declaredFunctionOrVarNames_ be the list-concatenation of _declaredFunctionNames_ and _declaredVarNames_.
47548
+
1. For each |FunctionDeclaration| _f_ that is directly contained in the |StatementList| of a |Block|, |CaseClause|, or |DefaultClause| Contained within _script_, do
47549
+
1. Let _F_ be StringValue of the |BindingIdentifier| of _f_.
47550
+
1. If replacing the |FunctionDeclaration| _f_ with a |VariableStatement| that has _F_ as a |BindingIdentifier| would not produce any Early Errors for _script_, then
47551
+
1. If _env_.HasLexicalDeclaration(_F_) is *false*, then
47552
+
1. Let _fnDefinable_ be ? _env_.CanDeclareGlobalVar(_F_).
47553
+
1. If _fnDefinable_ is *true*, then
47554
+
1. NOTE: A var binding for _F_ is only instantiated here if it is neither a VarDeclaredName nor the name of another |FunctionDeclaration|.
47555
+
1. If _declaredFunctionOrVarNames_ does not contain _F_, then
1. When the |FunctionDeclaration| _f_ is evaluated, perform the following steps in place of the |FunctionDeclaration| Evaluation algorithm provided in <emu-xref href="#sec-function-definitions-runtime-semantics-evaluation"></emu-xref>:
47559
+
1. Let _genv_ be the running execution context's VariableEnvironment.
47560
+
1. Let _benv_ be the running execution context's LexicalEnvironment.
47561
+
1. Let _fobj_ be ! _benv_.GetBindingValue(_F_, *false*).
@@ -47643,11 +47644,12 @@ <h1>Changes to BlockDeclarationInstantiation</h1>
47643
47644
</emu-alg>
47644
47645
<p>During BlockDeclarationInstantiation the following steps are performed in place of step <emu-xref href="#step-blockdeclarationinstantiation-initializebinding"></emu-xref>:</p>
@@ -47775,10 +47777,11 @@ <h1>Changes to ToBoolean</h1>
47775
47777
47776
47778
<emu-annex id="sec-IsHTMLDDA-internal-slot-aec">
47777
47779
<h1>Changes to IsLooselyEqual</h1>
47778
-
<p>The following steps replace step <emu-xref href="#step-abstract-equality-comparison-web-compat-insertion-point"></emu-xref> of the IsLooselyEqual algorithm:</p>
47779
-
<emu-alg>
47780
-
1. If Type(_x_) is Object and _x_ has an [[IsHTMLDDA]] internal slot and _y_ is either *null* or *undefined*, return *true*.
47781
-
1. If _x_ is either *null* or *undefined* and Type(_y_) is Object and _y_ has an [[IsHTMLDDA]] internal slot, return *true*.
47780
+
<p>During IsLooselyEqual the following steps are performed in place of step <emu-xref href="#step-abstract-equality-comparison-web-compat-insertion-point"></emu-xref>:</p>
0 commit comments