bigint-and-number.js |
---
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
description: Mixing BigInt and Number produces a TypeError for unsigned-right-shift 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.
--- |
2406 |
bigint-errors.js |
---
description: unsigned-right-shift operator ToNumeric with BigInt operands
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
info: After ToNumeric type coercion, unsigned-right-shift always throws for BigInt operands
features: [BigInt, Symbol, Symbol.toPrimitive, computed-property-names]
--- |
2110 |
bigint-non-primitive.js |
---
description: Unsigned right shift always throws for non-primitive BigInt values
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
info: |
ShiftExpression : ShiftExpression >>> AdditiveExpression
1. Let lref be the result of evaluating ShiftExpression.
2. Let lval be ? GetValue(lref).
3. Let rref be the result of evaluating AdditiveExpression.
4. Let rval be ? GetValue(rref).
5. Let lnum be ? ToNumeric(lval).
6. Let rnum be ? ToNumeric(rval).
7. If Type(lnum) does not equal Type(rnum), throw a TypeError exception.
8. Let T be Type(lnum).
9. Return T::unsignedRightShift(lnum, rnum).
Note: BigInt::unsignedRightShift always throws a TypeError
features: [BigInt, Symbol.toPrimitive]
--- |
2779 |
bigint-toprimitive.js |
---
description: unsigned-right-shift operator ToNumeric with BigInt operands
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
info: After ToNumeric type coercion, unsigned-right-shift always throws for BigInt operands
features: [BigInt, Symbol.toPrimitive, computed-property-names]
--- |
9663 |
bigint-wrapped-values.js |
---
description: unsigned-right-shift operator ToNumeric with BigInt operands
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
info: After ToNumeric type coercion, unsigned-right-shift always throws for BigInt operands
features: [BigInt, Symbol.toPrimitive, computed-property-names]
--- |
1750 |
bigint.js |
---
description: Unsigned right shift always throws for BigInt values
esid: sec-numeric-types-bigint-unsignedRightShift
info: |
BigInt::unsignedRightShift (x, y)
The abstract operation BigInt::unsignedRightShift with two arguments x and y of type BigInt:
1. Throw a TypeError exception.
features: [BigInt]
--- |
5931 |
browser.js |
|
0 |
order-of-evaluation.js |
---
esid: sec-unsigned-right-shift-operator-runtime-semantics-evaluation
description: Type coercion order of operations for unsigned-right-shift operator
features: [Symbol]
info: |
Evaluate lhs
Evaluate rhs
ToNumeric(lhs)
ToNumeric(rhs)
--- |
3067 |
S9.6_A1.js |
---
info: If value is NaN, +0, -0, +Infinity, or -Infinity, return +0
es5id: 9.6_A1
description: For testing use operator >>>0
--- |
1926 |
S9.6_A2.1.js |
---
info: ToUint32 returns values between 0 and 2^32-1
es5id: 9.6_A2.1
description: >
Converting numbers, which are in\outside of Uint32 scopes, with
>>>0 operator
--- |
1133 |
S9.6_A2.2.js |
---
info: Compute result modulo 2^32
es5id: 9.6_A2.2
description: Use operator >>>0
--- |
2023 |
S9.6_A3.1_T1.js |
---
info: Operator uses ToNumber
es5id: 9.6_A3.1_T1
description: Type(x) is Boolean
--- |
527 |
S9.6_A3.1_T2.js |
---
info: Operator uses ToNumber
es5id: 9.6_A3.1_T2
description: Type(x) is Number
--- |
535 |
S9.6_A3.1_T3.js |
---
info: Operator uses ToNumber
es5id: 9.6_A3.1_T3
description: Type(x) is String
--- |
541 |
S9.6_A3.1_T4.js |
---
info: Operator uses ToNumber
es5id: 9.6_A3.1_T4
description: Type(x) is Object
--- |
3213 |
S9.6_A3.2_T1.js |
---
info: Operator uses floor, abs
es5id: 9.6_A3.2_T1
description: Use operator >>>0
--- |
519 |
S11.7.3_A1.js |
---
info: |
White Space and Line Terminator between ShiftExpression and ">>>" or
between ">>>" and AdditiveExpression are allowed
es5id: 11.7.3_A1
description: Checking by using eval
--- |
1878 |
S11.7.3_A2.1_T1.js |
---
info: Operator x >>> y uses GetValue
es5id: 11.7.3_A2.1_T1
description: Either Type is not Reference or GetBase is not null
--- |
1246 |
S11.7.3_A2.1_T2.js |
---
info: Operator x >>> y uses GetValue
es5id: 11.7.3_A2.1_T2
description: If GetBase(x) is null, throw ReferenceError
--- |
551 |
S11.7.3_A2.1_T3.js |
---
info: Operator x >>> y uses GetValue
es5id: 11.7.3_A2.1_T3
description: If GetBase(y) is null, throw ReferenceError
--- |
551 |
S11.7.3_A2.2_T1.js |
---
info: Operator x >>> y uses [[Default Value]]
es5id: 11.7.3_A2.2_T1
description: If Type(value) is Object, evaluate ToPrimitive(value, Number)
--- |
3335 |
S11.7.3_A2.3_T1.js |
---
info: |
ToNumber(first expression) is called first, and then ToNumber(second
expression)
es5id: 11.7.3_A2.3_T1
description: Checking with "throw"
--- |
995 |
S11.7.3_A2.4_T1.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.7.3_A2.4_T1
description: Checking with "="
--- |
598 |
S11.7.3_A2.4_T2.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.7.3_A2.4_T2
description: Checking with "throw"
--- |
889 |
S11.7.3_A2.4_T3.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.7.3_A2.4_T3
description: Checking with undeclarated variables
--- |
601 |
S11.7.3_A2.4_T4.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.7.3_A2.4_T4
description: Checking with undeclarated variables
flags: [noStrict]
--- |
448 |
S11.7.3_A3_T1.1.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T1.1
description: >
Type(x) and Type(y) vary between primitive boolean and Boolean
object
--- |
981 |
S11.7.3_A3_T1.2.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T1.2
description: Type(x) and Type(y) vary between primitive number and Number object
--- |
885 |
S11.7.3_A3_T1.3.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T1.3
description: Type(x) and Type(y) vary between primitive string and String object
--- |
1163 |
S11.7.3_A3_T1.4.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T1.4
description: Type(x) and Type(y) vary between Null and Undefined
--- |
857 |
S11.7.3_A3_T1.5.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T1.5
description: Type(x) and Type(y) vary between Object object and Function object
--- |
1004 |
S11.7.3_A3_T2.1.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.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)
--- |
1593 |
S11.7.3_A3_T2.2.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.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)
--- |
1776 |
S11.7.3_A3_T2.3.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.3
description: >
Type(x) is different from Type(y) and both types vary between
Number (primitive or object) and Null
--- |
891 |
S11.7.3_A3_T2.4.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.4
description: >
Type(x) is different from Type(y) and both types vary between
Number (primitive or object) and Undefined
--- |
956 |
S11.7.3_A3_T2.5.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.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)
--- |
1641 |
S11.7.3_A3_T2.6.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.6
description: >
Type(x) is different from Type(y) and both types vary between
String (primitive or object) and Undefined
--- |
980 |
S11.7.3_A3_T2.7.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.7
description: >
Type(x) is different from Type(y) and both types vary between
String (primitive or object) and Null
--- |
915 |
S11.7.3_A3_T2.8.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.8
description: >
Type(x) is different from Type(y) and both types vary between
Boolean (primitive or object) and Undefined
--- |
999 |
S11.7.3_A3_T2.9.js |
---
info: Operator x >>> y returns ToNumber(x) >>> ToNumber(y)
es5id: 11.7.3_A3_T2.9
description: >
Type(x) is different from Type(y) and both types vary between
Boolean (primitive or object) and Null
--- |
934 |
S11.7.3_A4_T1.js |
---
info: Check operator x >>> y in distinct points
es5id: 11.7.3_A4_T1
description: ShiftExpression = 2^n, n = 0...15
--- |
60446 |
S11.7.3_A4_T2.js |
---
info: Check operator x >>> y in distinct points
es5id: 11.7.3_A4_T2
description: ShiftExpression = 2^n - 1, n = 16...31
--- |
59318 |
S11.7.3_A4_T3.js |
---
info: Check operator x >>> y in distinct points
es5id: 11.7.3_A4_T3
description: ShiftExpression = 2^n - 1, n = 0...15
--- |
62706 |
S11.7.3_A4_T4.js |
---
info: Check operator x >>> y in distinct points
es5id: 11.7.3_A4_T4
description: ShiftExpression = 2^n - 1, n = 16...31
--- |
61480 |
S11.7.3_A5.1_T1.js |
---
info: Operator x >>> y uses ToUint32(ShiftExpression)
es5id: 11.7.3_A5.1_T1
description: Checking boundary points
--- |
1832 |
S11.7.3_A5.2_T1.js |
---
info: Operator x >>> y uses ToUint32(AdditiveExpression) & 31
es5id: 11.7.3_A5.2_T1
description: Checking distinct points
--- |
10131 |
shell.js |
|
0 |