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
<p>The comparison _x_ < _y_, where _x_ and _y_ are values, produces *true*, *false*, or *undefined* (which indicates that at least one operand is *NaN*). In addition to _x_ and _y_ the algorithm takes a Boolean flag named _LeftFirst_ as a parameter. The flag is used to control the order in which operations with potentially visible side-effects are performed upon _x_ and _y_. It is necessary because ECMAScript specifies left to right evaluation of expressions. The default value of _LeftFirst_ is *true* and indicates that the _x_ parameter corresponds to an expression that occurs to the left of the _y_ parameter's corresponding expression. If _LeftFirst_ is *false*, the reverse is the case and operations must be performed upon _y_ before _x_. Such a comparison is performed as follows:</p>
<p>The abstract operation IsLessThan takes arguments _x_ (an ECMAScript language value) and _y_ (an ECMAScript language value), and optional argument _LeftFirst_ (a Boolean). It provides the semantics for the comparison _x_ < _y_, returning *true*, *false*, or *undefined* (which indicates that at least one operand is *NaN*). The _LeftFirst_ flag is used to control the order in which operations with potentially visible side-effects are performed upon _x_ and _y_. It is necessary because ECMAScript specifies left to right evaluation of expressions. The default value of _LeftFirst_ is *true* and indicates that the _x_ parameter corresponds to an expression that occurs to the left of the _y_ parameter's corresponding expression. If _LeftFirst_ is *false*, the reverse is the case and operations must be performed upon _y_ before _x_. It performs the following steps when called:</p>
<p>No hint is provided in the calls to ToPrimitive in steps <emu-xref href="#step-binary-op-toprimitive-lval"></emu-xref> and <emu-xref href="#step-binary-op-toprimitive-rval"></emu-xref>. All standard objects except Date objects handle the absence of a hint as if ~number~ were given; Date objects handle the absence of a hint as if ~string~ were given. Exotic objects may handle the absence of a hint in some other manner.</p>
17664
17660
</emu-note>
17665
17661
<emu-note>
17666
-
<p>Step <emu-xref href="#step-binary-op-string-check"></emu-xref> differs from step <emu-xref href="#step-arc-string-check"></emu-xref> of the Abstract Relational Comparison algorithm, by using the logical-or operation instead of the logical-and operation.</p>
17662
+
<p>Step <emu-xref href="#step-binary-op-string-check"></emu-xref> differs from step <emu-xref href="#step-arc-string-check"></emu-xref> of the IsLessThan algorithm, by using the logical-or operation instead of the logical-and operation.</p>
<p>The comparison of values to determine the largest value is done using the Abstract Relational Comparison algorithm except that *+0*<sub>π½</sub> is considered to be larger than *-0*<sub>π½</sub>.</p>
27721
+
<p>The comparison of values to determine the largest value is done using the IsLessThan algorithm except that *+0*<sub>π½</sub> is considered to be larger than *-0*<sub>π½</sub>.</p>
27726
27722
</emu-note>
27727
27723
<p>The *"length"* property of the `max` method is *2*<sub>π½</sub>.</p>
<p>The comparison of values to determine the largest value is done using the Abstract Relational Comparison algorithm except that *+0*<sub>π½</sub> is considered to be larger than *-0*<sub>π½</sub>.</p>
27743
+
<p>The comparison of values to determine the largest value is done using the IsLessThan algorithm except that *+0*<sub>π½</sub> is considered to be larger than *-0*<sub>π½</sub>.</p>
27748
27744
</emu-note>
27749
27745
<p>The *"length"* property of the `min` method is *2*<sub>π½</sub>.</p>
0 commit comments