bigint-and-bigint.js |
---
description: Non-strict equality comparison of BigInt values
esid: sec-abstract-equality-comparison
info: |
1. If Type(x) is the same as Type(y), then
a. Return the result of performing Strict Equality Comparison x === y.
sec-numeric-types-bigint-equal
BigInt::equal (x, y)
The abstract operation BigInt::equal with two arguments x and y of BigInt type returns true if x and y have the same mathematical integer value and false otherwise.
features: [BigInt]
--- |
4505 |
bigint-and-boolean.js |
---
description: Non-strict equality comparison of BigInt and Boolean values
esid: sec-abstract-equality-comparison
info: |
8. If Type(x) is Boolean, return the result of the comparison ToNumber(x) == y.
9. If Type(y) is Boolean, return the result of the comparison x == ToNumber(y).
...
12. If Type(x) is BigInt and Type(y) is Number, or if Type(x) is Number and Type(y) is BigInt,
...
b. If the mathematical value of x is equal to the mathematical value of y, return true, otherwise return false.
features: [BigInt]
--- |
1923 |
bigint-and-incomparable-primitive.js |
---
description: Non-strict equality comparison of BigInt and miscellaneous primitive values
esid: sec-equality-operators-runtime-semantics-evaluation
info: |
EqualityExpression : EqualityExpression == RelationalExpression
...
5. Return the result of performing Abstract Equality Comparison rval == lval.
features: [BigInt, Symbol]
--- |
1507 |
bigint-and-non-finite.js |
---
description: Non-strict equality comparison of BigInt and non-finite Number values
esid: sec-abstract-equality-comparison
info: |
12. If Type(x) is BigInt and Type(y) is Number, or if Type(x) is Number and Type(y) is BigInt,
a. If x or y are any of NaN, +∞, or -∞, return false.
features: [BigInt]
--- |
1945 |
bigint-and-number-extremes.js |
---
description: Non-strict equality comparison of BigInt and large Number values
esid: sec-abstract-equality-comparison
info: |
12. If Type(x) is BigInt and Type(y) is Number, or if Type(x) is Number and Type(y) is BigInt,
b. If the mathematical value of x is equal to the mathematical value of y, return true, otherwise return false.
features: [BigInt]
--- |
4674 |
bigint-and-number.js |
---
description: Non-strict equality comparison of BigInt and Number values
esid: sec-abstract-equality-comparison
info: |
12. If Type(x) is BigInt and Type(y) is Number, or if Type(x) is Number and Type(y) is BigInt,
b. If the mathematical value of x is equal to the mathematical value of y, return true, otherwise return false.
features: [BigInt]
--- |
2236 |
bigint-and-object.js |
---
description: Non-strict equality comparison of BigInt values and non-primitive objects
esid: sec-abstract-equality-comparison
info: |
10. If Type(x) is either String, Number, BigInt, or Symbol and Type(y) is Object, return the result of the comparison x == ? ToPrimitive(y).
11. If Type(x) is Object and Type(y) is either String, Number, BigInt, or Symbol, return the result of the comparison ? ToPrimitive(x) == y.
then after the recursion:
1. If Type(x) is the same as Type(y), then
a. Return the result of performing Strict Equality Comparison x === y.
...
6. If Type(x) is BigInt and Type(y) is String,
a. Let n be StringToBigInt(y).
b. If n is NaN, return false.
c. Return the result of x == n.
7. If Type(x) is String and Type(y) is BigInt, return the result of y == x.
features: [BigInt]
--- |
5314 |
bigint-and-string.js |
---
description: Non-strict equality comparison of BigInt and String values
esid: sec-abstract-equality-comparison
info: |
1. If Type(x) is different from Type(y), return false.
features: [BigInt]
--- |
3364 |
browser.js |
|
0 |
coerce-symbol-to-prim-err.js |
---
es6id: 12.10.3
description: >
Behavior when error thrown by invocation of `Symbol.toPrimitive` method
during coercion
info: |
[...]
7. Return the result of performing Abstract Equality Comparison rval ==
lval.
ES6 Section 7.2.12 Abstract Equality Comparison
[...]
10. If Type(x) is either String, Number, or Symbol and Type(y) is Object,
then return the result of the comparison x == ToPrimitive(y).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
features: [Symbol.toPrimitive]
--- |
1097 |
coerce-symbol-to-prim-invocation.js |
---
es6id: 12.10.3
description: Invocation of `Symbol.toPrimitive` method during coercion
info: |
[...]
7. Return the result of performing Abstract Equality Comparison rval ==
lval.
ES6 Section 7.2.12 Abstract Equality Comparison
[...]
10. If Type(x) is either String, Number, or Symbol and Type(y) is Object,
then return the result of the comparison x == ToPrimitive(y).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
1. If PreferredType was not passed, let hint be "default".
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
[...]
features: [Symbol.toPrimitive]
--- |
1448 |
coerce-symbol-to-prim-return-obj.js |
---
es6id: 12.10.3
description: >
Behavior when coercion via `Symbol.toPrimitive` yields an Object
info: |
[...]
7. Return the result of performing Abstract Equality Comparison rval ==
lval.
ES6 Section 7.2.12 Abstract Equality Comparison
[...]
10. If Type(x) is either String, Number, or Symbol and Type(y) is Object,
then return the result of the comparison x == ToPrimitive(y).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
c. If Type(result) is not Object, return result.
d. Throw a TypeError exception.
features: [Symbol.toPrimitive]
--- |
1329 |
coerce-symbol-to-prim-return-prim.js |
---
es6id: 12.10.3
description: >
Behavior when coercion via `Symbol.toPrimitive` yields a primitive value
info: |
[...]
7. Return the result of performing Abstract Equality Comparison rval ==
lval.
ES6 Section 7.2.12 Abstract Equality Comparison
[...]
10. If Type(x) is either String, Number, or Symbol and Type(y) is Object,
then return the result of the comparison x == ToPrimitive(y).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
6. If exoticToPrim is not undefined, then
a. Let result be Call(exoticToPrim, input, «hint»).
b. ReturnIfAbrupt(result).
c. If Type(result) is not Object, return result.
features: [Symbol.toPrimitive]
--- |
1517 |
get-symbol-to-prim-err.js |
---
es6id: 12.10.3
description: >
Behavior when error thrown while accessing `Symbol.toPrimitive` property
info: |
[...]
7. Return the result of performing Abstract Equality Comparison rval ==
lval.
ES6 Section 7.2.12 Abstract Equality Comparison
[...]
10. If Type(x) is either String, Number, or Symbol and Type(y) is Object,
then return the result of the comparison x == ToPrimitive(y).
ES6 Section 7.1.1 ToPrimitive ( input [, PreferredType] )
[...]
4. Let exoticToPrim be GetMethod(input, @@toPrimitive).
5. ReturnIfAbrupt(exoticToPrim).
features: [Symbol.toPrimitive]
--- |
971 |
S9.1_A1_T3.js |
---
info: |
Result of primitive conversion from object is a default value for the
Object
es5id: 9.1_A1_T3
description: >
Using operator "+". This operator firstly calls ToPrimitive and
then calls ToString or ToNumber
--- |
959 |
S11.9.1_A1.js |
---
info: |
White Space and Line Terminator between EqualityExpression and "==" or
between "==" and RelationalExpression are allowed
es5id: 11.9.1_A1
description: Checking by using eval
--- |
1801 |
S11.9.1_A2.1_T1.js |
---
info: Operator x == y uses GetValue
es5id: 11.9.1_A2.1_T1
description: Either Type is not Reference or GetBase is not null
--- |
1051 |
S11.9.1_A2.1_T2.js |
---
info: Operator x == y uses GetValue
es5id: 11.9.1_A2.1_T2
description: If GetBase(x) is null, throw ReferenceError
--- |
546 |
S11.9.1_A2.1_T3.js |
---
info: Operator x == y uses GetValue
es5id: 11.9.1_A2.1_T3
description: If GetBase(y) is null, throw ReferenceError
--- |
546 |
S11.9.1_A2.4_T1.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.9.1_A2.4_T1
description: Checking with "="
--- |
540 |
S11.9.1_A2.4_T2.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.9.1_A2.4_T2
description: Checking with "throw"
--- |
885 |
S11.9.1_A2.4_T3.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.9.1_A2.4_T3
description: Checking with undeclarated variables
--- |
597 |
S11.9.1_A2.4_T4.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.9.1_A2.4_T4
description: Checking with undeclarated variables
flags: [noStrict]
--- |
428 |
S11.9.1_A3.1.js |
---
info: |
Return true, if x and y are both true or both false; otherwise, return
false
es5id: 11.9.1_A3.1
description: x and y are boolean primitives
--- |
739 |
S11.9.1_A3.2.js |
---
info: |
If Type(x) is Boolean and Type(y) is Number,
return the result of comparison ToNumber(x) == y
es5id: 11.9.1_A3.2
description: x is primitive boolean, y is primitive number
--- |
551 |
S11.9.1_A3.3.js |
---
info: |
If Type(y) is Number and Type(y) is Boolean,
return the result of comparison x == ToNumber(y)
es5id: 11.9.1_A3.3
description: x is primitive number, y is primitive boolean
--- |
551 |
S11.9.1_A4.1_T1.js |
---
info: If x or y is NaN, return false
es5id: 11.9.1_A4.1_T1
description: x is NaN
--- |
1341 |
S11.9.1_A4.1_T2.js |
---
info: If x or y is NaN, return false
es5id: 11.9.1_A4.1_T2
description: y is NaN
--- |
1343 |
S11.9.1_A4.2.js |
---
info: If x is +0(-0) and y is -0(+0), return true
es5id: 11.9.1_A4.2
description: Checking all combinations
--- |
461 |
S11.9.1_A4.3.js |
---
info: |
Type(x) and Type(y) are Number-s minus NaN, +0, -0.
Return true, if x is the same number value as y; otherwise, return false
es5id: 11.9.1_A4.3
description: x and y are primitive numbers
--- |
1037 |
S11.9.1_A5.1.js |
---
info: |
Type(x) and Type(y) are String-s.
Return true, if x and y are exactly the same sequence of characters; otherwise, return false
es5id: 11.9.1_A5.1
description: x and y are primitive string
--- |
1110 |
S11.9.1_A5.2.js |
---
info: |
If Type(x) is Number and Type(y) is String,
return the result of comparison x == ToNumber(y)
es5id: 11.9.1_A5.2
description: x is primitive number, y is primitive string
--- |
850 |
S11.9.1_A5.3.js |
---
info: |
If Type(x) is String and Type(y) is Number,
return the result of comparison ToNumber(x) == y
es5id: 11.9.1_A5.3
description: x is primitive string, y is primitive number
--- |
777 |
S11.9.1_A6.1.js |
---
info: If Type(x) as well as Type(y) is undefined or null, return true
es5id: 11.9.1_A6.1
description: Checking all combinations
--- |
977 |
S11.9.1_A6.2_T1.js |
---
info: If one expression is undefined or null and another is not, return false
es5id: 11.9.1_A6.2_T1
description: x is null or undefined, y is not
--- |
1177 |
S11.9.1_A6.2_T2.js |
---
info: If one expression is undefined or null and another is not, return false
es5id: 11.9.1_A6.2_T2
description: y is null or undefined, x is not
--- |
1197 |
S11.9.1_A7.1.js |
---
info: |
Type(x) and Type(y) are Object-s.
Return true, if x and y are references to the same Object; otherwise, return false
es5id: 11.9.1_A7.1
description: >
Checking Boolean object, Number object, String object, Object
object
--- |
1557 |
S11.9.1_A7.2.js |
---
info: |
If Type(x) is Object and Type(y) is Boolean,
return ToPrimitive(x) == y
es5id: 11.9.1_A7.2
description: x is object, y is primitive boolean
--- |
692 |
S11.9.1_A7.3.js |
---
info: |
If Type(x) is Boolean and Type(y) is Object,
return x == ToPrimitive(y)
es5id: 11.9.1_A7.3
description: y is object, x is primitive boolean
--- |
694 |
S11.9.1_A7.4.js |
---
info: |
If Type(x) is Object and Type(y) is Number,
return ToPrimitive(x) == y
es5id: 11.9.1_A7.4
description: x is object, y is primitive number
--- |
680 |
S11.9.1_A7.5.js |
---
info: |
If Type(x) is Number and Type(y) is Object,
return x == ToPrimitive(y)
es5id: 11.9.1_A7.5
description: y is object, x is primitive number
--- |
680 |
S11.9.1_A7.6.js |
---
info: |
If Type(x) is Object and Type(y) is String,
return ToPrimitive(x) == y
es5id: 11.9.1_A7.6
description: x is object, y is primitive string
--- |
688 |
S11.9.1_A7.7.js |
---
info: |
If Type(x) is String and Type(y) is Object,
return x == ToPrimitive(y)
es5id: 11.9.1_A7.7
description: y is object, x is primitive string
--- |
688 |
S11.9.1_A7.8.js |
---
info: |
If Type(x) is Object and Type(y) is primitive type,
return ToPrimitive(x) == y
es5id: 11.9.1_A7.8
description: x is object, y is primtitive
--- |
3181 |
S11.9.1_A7.9.js |
---
info: |
If Type(x) is primitive type and Type(y) is Object,
return x == ToPrimitive(y)
es5id: 11.9.1_A7.9
description: y is object, x is primtitive
--- |
3181 |
shell.js |
|
0 |
symbol-abstract-equality-comparison.js |
---
es6id: 7.2.12
description: >
Abstract Equality Comparison: Symbol
features: [Symbol]
--- |
957 |
symbol-strict-equality-comparison.js |
---
es6id: 7.2.13
description: >
Strict Equality Comparison: Symbol
features: [Symbol]
--- |
968 |
to-prim-hint.js |
---
esid: sec-abstract-equality-comparison
description: Object operands coerced without ToPrimitive hint
info: |
7.2.14 Abstract Equality Comparison
...
6. If Type(x) is Boolean, return the result of the comparison !
ToNumber(x) == y.
7. If Type(y) is Boolean, return the result of the comparison x == !
ToNumber(y).
8. If Type(x) is either String, Number, or Symbol and Type(y) is
Object, return the result of the comparison x == ToPrimitive(y).
9. If Type(x) is Object and Type(y) is either String, Number, or
Symbol, return the result of the comparison ToPrimitive(x) == y.
...
features: [Symbol.toPrimitive]
--- |
1063 |