bigint-and-number.js |
---
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
description: Mixing BigInt and Number produces a TypeError for bitwise-or 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.
--- |
2311 |
bigint-errors.js |
---
description: bitwise-or operator ToNumeric with BigInt operands
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
features: [BigInt, Symbol, Symbol.toPrimitive, computed-property-names]
--- |
1963 |
bigint-non-primitive.js |
---
description: Bitwise OR for BigInt non-primitive values
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
info: |
5. Let lnum be ? ToNumeric(lval).
6. Let rnum be ? ToNumeric(rval).
...
8. Let T be Type(lnum).
...
10. If @ is |, return T::bitwiseOR(lnum, rnum).
features: [BigInt]
--- |
2114 |
bigint-toprimitive.js |
---
description: bitwise-or operator ToNumeric with BigInt operands
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
features: [BigInt, Symbol.toPrimitive, computed-property-names]
--- |
8804 |
bigint-wrapped-values.js |
---
description: bitwise-or operator ToNumeric with BigInt operands
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
features: [BigInt, Symbol.toPrimitive, computed-property-names]
--- |
1420 |
bigint.js |
---
description: Bitwise OR for BigInt values
esid: sec-bitwise-op
info: |
BitwiseOp(op, x, y)
1. Let result be 0.
2. Let shift be 0.
3. Repeat, until (x = 0 or x = -1) and (y = 0 or y = -1),
a. Let xDigit be x modulo 2.
b. Let yDigit be y modulo 2.
c. Let result be result + 2**shift * op(xDigit, yDigit)
d. Let shift be shift + 1.
e. Let x be (x - xDigit) / 2.
f. Let y be (y - yDigit) / 2.
4. If op(x modulo 2, y modulo 2) ≠ 0,
a. Let result be result - 2**shift. NOTE: This extends the sign.
5. Return result.
features: [BigInt]
--- |
6532 |
browser.js |
|
0 |
order-of-evaluation.js |
---
esid: sec-binary-bitwise-operators-runtime-semantics-evaluation
description: Type coercion order of operations for bitwise-or operator
features: [Symbol]
info: |
Evaluate lhs
Evaluate rhs
ToNumeric(lhs)
ToNumeric(rhs)
--- |
3040 |
S11.10.3_A1.js |
---
info: |
White Space and Line Terminator between BitwiseORExpression and "|" or
between "|" and BitwiseXORExpression are allowed
es5id: 11.10.3_A1
description: Checking by using eval
--- |
1682 |
S11.10.3_A2.1_T1.js |
---
info: Operator x | y uses GetValue
es5id: 11.10.3_A2.1_T1
description: Either Type is not Reference or GetBase is not null
--- |
1143 |
S11.10.3_A2.1_T2.js |
---
info: Operator x | y uses GetValue
es5id: 11.10.3_A2.1_T2
description: If GetBase(x) is null, throw ReferenceError
--- |
542 |
S11.10.3_A2.1_T3.js |
---
info: Operator x | y uses GetValue
es5id: 11.10.3_A2.1_T3
description: If GetBase(y) is null, throw ReferenceError
--- |
542 |
S11.10.3_A2.2_T1.js |
---
info: Operator x | y uses [[Default Value]]
es5id: 11.10.3_A2.2_T1
description: If Type(value) is Object, evaluate ToPrimitive(value, Number)
--- |
3255 |
S11.10.3_A2.3_T1.js |
---
info: |
ToInt32(first expression) is called first, and then ToInt32(second
expression)
es5id: 11.10.3_A2.3_T1
description: Checking with "throw"
--- |
984 |
S11.10.3_A2.4_T1.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.10.3_A2.4_T1
description: Checking with "="
--- |
579 |
S11.10.3_A2.4_T2.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.10.3_A2.4_T2
description: Checking with "throw"
--- |
882 |
S11.10.3_A2.4_T3.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.10.3_A2.4_T3
description: Checking with undeclarated variables
flags: [noStrict]
--- |
729 |
S11.10.3_A3_T1.1.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T1.1
description: >
Type(x) and Type(y) vary between primitive boolean and Boolean
object
--- |
978 |
S11.10.3_A3_T1.2.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T1.2
description: Type(x) and Type(y) vary between primitive number and Number object
--- |
882 |
S11.10.3_A3_T1.3.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T1.3
description: Type(x) and Type(y) vary between primitive string and String object
--- |
1160 |
S11.10.3_A3_T1.4.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T1.4
description: Type(x) and Type(y) vary between Null and Undefined
--- |
854 |
S11.10.3_A3_T1.5.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T1.5
description: Type(x) and Type(y) vary between Object object and Function object
--- |
977 |
S11.10.3_A3_T2.1.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.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)
--- |
1590 |
S11.10.3_A3_T2.2.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.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)
--- |
1773 |
S11.10.3_A3_T2.3.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.3
description: >
Type(x) is different from Type(y) and both types vary between
Number (primitive or object) and Null
--- |
888 |
S11.10.3_A3_T2.4.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.4
description: >
Type(x) is different from Type(y) and both types vary between
Number (primitive or object) and Undefined
--- |
953 |
S11.10.3_A3_T2.5.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.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)
--- |
1638 |
S11.10.3_A3_T2.6.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.6
description: >
Type(x) is different from Type(y) and both types vary between
String (primitive or object) and Undefined
--- |
977 |
S11.10.3_A3_T2.7.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.7
description: >
Type(x) is different from Type(y) and both types vary between
String (primitive or object) and Null
--- |
912 |
S11.10.3_A3_T2.8.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.8
description: >
Type(x) is different from Type(y) and both types vary between
Boolean (primitive or object) and Undefined
--- |
996 |
S11.10.3_A3_T2.9.js |
---
info: Operator x | y returns ToNumber(x) | ToNumber(y)
es5id: 11.10.3_A3_T2.9
description: >
Type(x) is different from Type(y) and both types vary between
Boolean (primitive or object) and Null
--- |
931 |
shell.js |
|
0 |