Name Description Size
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