Name Description Size Coverage
bigint-and-number.js --- esid: sec-multiplicative-operators-runtime-semantics-evaluation description: Mixing BigInt and Number produces a TypeError for modulus operator features: [BigInt] info: | Let lnum be ? ToNumeric(leftValue). Let rnum be ? ToNumeric(rightValue). If Type(lnum) does not equal Type(rnum), throw a TypeError exception. --- 2286 -
bigint-arithmetic.js --- esid: sec-multiplicative-operators-runtime-semantics-evaluation description: BigInt remainder arithmetic features: [BigInt] --- 28504 -
bigint-errors.js --- description: modulus operator ToNumeric with BigInt operands esid: sec-multiplicative-operators-runtime-semantics-evaluation features: [BigInt, Symbol, Symbol.toPrimitive, computed-property-names] --- 1938 -
bigint-modulo-zero.js --- description: BigInt modulo 0 throws a range error esid: sec-multiplicative-operators-runtime-semantics-evaluation info: | Runtime Semantics: Evaluation MultiplicativeExpression: MultiplicativeExpression MultiplicativeOperator ExponentiationExpression ... 12. Otherwise, MultiplicativeOperator is %; return T::remainder(lnum, rnum). ... BigInt::remainder (x, y) 1. If y is 0n, throw a RangeError exception. 2. Return the BigInt representing x modulo y. features: [BigInt] --- 1007 -
bigint-toprimitive.js --- description: modulus operator ToNumeric with BigInt operands esid: sec-multiplicative-operators-runtime-semantics-evaluation features: [BigInt, Symbol.toPrimitive, computed-property-names] --- 8779 -
bigint-wrapped-values.js --- description: modulus operator ToNumeric with BigInt operands esid: sec-multiplicative-operators-runtime-semantics-evaluation features: [BigInt, Symbol.toPrimitive, computed-property-names] --- 1395 -
line-terminator.js --- esid: sec-multiplicative-operators-runtime-semantics-evaluation description: Line terminator between the operands of a modulus operator info: | MultiplicativeExpression[Yield, Await]: ExponentiationExpression MultiplicativeExpression MultiplicativeOperator ExponentiationExpression MultiplicativeOperator : one of / % --- 527 -
order-of-evaluation.js --- esid: sec-multiplicative-operators-runtime-semantics-evaluation description: Type coercion order of operations for modulus operator features: [Symbol] info: | Evaluate lhs Evaluate rhs ToNumeric(lhs) ToNumeric(rhs) --- 3015 -
S11.5.3_A1.js --- info: | White Space and Line Terminator between MultiplicativeExpression and "%" or between "%" and UnaryExpression are allowed es5id: 11.5.3_A1 description: Checking by using eval --- 1618 -
S11.5.3_A2.1_T1.js --- info: Operator x % y uses GetValue es5id: 11.5.3_A2.1_T1 description: Either Type is not Reference or GetBase is not null --- 1090 -
S11.5.3_A2.1_T2.js --- info: Operator x % y uses GetValue es5id: 11.5.3_A2.1_T2 description: If GetBase(x) is null, throw ReferenceError --- 519 -
S11.5.3_A2.1_T3.js --- info: Operator x % y uses GetValue es5id: 11.5.3_A2.1_T3 description: If GetBase(y) is null, throw ReferenceError --- 519 -
S11.5.3_A2.2_T1.js --- info: Operator x % y uses [[Default Value]] es5id: 11.5.3_A2.2_T1 description: If Type(value) is Object, evaluate ToPrimitive(value, Number) --- 3192 -
S11.5.3_A2.3_T1.js --- info: | ToNumber(first expression) is called first, and then ToNumber(second expression) es5id: 11.5.3_A2.3_T1 description: Checking with "throw" --- 965 -
S11.5.3_A2.4_T1.js --- info: First expression is evaluated first, and then second expression es5id: 11.5.3_A2.4_T1 description: Checking with "=" --- 544 -
S11.5.3_A2.4_T2.js --- info: First expression is evaluated first, and then second expression es5id: 11.5.3_A2.4_T2 description: Checking with "throw" --- 859 -
S11.5.3_A2.4_T3.js --- info: First expression is evaluated first, and then second expression es5id: 11.5.3_A2.4_T3 description: Checking with undeclarated variables --- 571 -
S11.5.3_A2.4_T4.js --- info: First expression is evaluated first, and then second expression es5id: 11.5.3_A2.4_T4 description: Checking with undeclarated variables flags: [noStrict] --- 420 -
S11.5.3_A3_T1.1.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T1.1 description: > Type(x) and Type(y) vary between primitive boolean and Boolean object --- 931 -
S11.5.3_A3_T1.2.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T1.2 description: Type(x) and Type(y) vary between primitive number and Number object --- 835 -
S11.5.3_A3_T1.3.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T1.3 description: Type(x) and Type(y) vary between primitive string and String object --- 1143 -
S11.5.3_A3_T1.4.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T1.4 description: Type(x) and Type(y) vary between Null and Undefined --- 891 -
S11.5.3_A3_T1.5.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T1.5 description: Type(x) and Type(y) vary between Object object and Function object --- 1014 -
S11.5.3_A3_T2.1.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.1 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object) --- 1519 -
S11.5.3_A3_T2.2.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.2 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object) --- 1732 -
S11.5.3_A3_T2.3.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.3 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null --- 883 -
S11.5.3_A3_T2.4.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.4 description: > Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined --- 990 -
S11.5.3_A3_T2.5.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.5 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object) --- 1567 -
S11.5.3_A3_T2.6.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.6 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined --- 1014 -
S11.5.3_A3_T2.7.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.7 description: > Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null --- 907 -
S11.5.3_A3_T2.8.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.8 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined --- 1033 -
S11.5.3_A3_T2.9.js --- info: Operator x % y returns ToNumber(x) % ToNumber(y) es5id: 11.5.3_A3_T2.9 description: > Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null --- 926 -
S11.5.3_A4_T1.1.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T1.1 description: If either operand is NaN, the result is NaN --- 1595 -
S11.5.3_A4_T1.2.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T1.2 description: If either operand is NaN, the result is NaN --- 1597 -
S11.5.3_A4_T2.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T2 description: > The sign of the finite non-zero value result equals the sign of the divided --- 1759 -
S11.5.3_A4_T3.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T3 description: If the dividend is an infinity results is NaN --- 2567 -
S11.5.3_A4_T4.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T4 description: If the divisor is zero results is NaN --- 2609 -
S11.5.3_A4_T5.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T5 description: > If dividend is finite and the divisor is an infinity, the result equals the dividend --- 3848 -
S11.5.3_A4_T6.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T6 description: > If dividend is a zero and the divisor is nonzero finite, the result equals the dividend --- 2536 -
S11.5.3_A4_T7.js --- info: | The result of a ECMAScript floating-point remainder operation is determined by the rules of IEEE arithmetics es5id: 11.5.3_A4_T7 description: > If operands neither an infinity, nor a zero, nor NaN, return x - truncate(x / y) * y --- 1930 -