browser.js |
|
0 |
primitive-prototype-with-object.js |
---
es6id: 12.9.3
description: >
Throws a TypeError if `prototype` property is not an Object.
info: |
12.9.3 Runtime Semantics: Evaluation
RelationalExpression : RelationalExpression instanceof ShiftExpression
...
7. Return InstanceofOperator(lval, rval).
12.9.4 Runtime Semantics: InstanceofOperator(O, C)
...
6. Return OrdinaryHasInstance(C, O).
7.3.19 OrdinaryHasInstance
...
3. If Type(O) is not Object, return false.
4. Let P be Get(C, "prototype").
5. ReturnIfAbrupt(P).
6. If Type(P) is not Object, throw a TypeError exception.
...
--- |
945 |
primitive-prototype-with-primitive.js |
---
es6id: 12.9.3
description: >
Does not throw a TypeError if left-hand side expression and `prototype` property are both primitive values.
info: |
12.9.3 Runtime Semantics: Evaluation
RelationalExpression : RelationalExpression instanceof ShiftExpression
...
7. Return InstanceofOperator(lval, rval).
12.9.4 Runtime Semantics: InstanceofOperator(O, C)
...
6. Return OrdinaryHasInstance(C, O).
7.3.19 OrdinaryHasInstance
...
3. If Type(O) is not Object, return false.
...
--- |
871 |
prototype-getter-with-object-throws.js |
---
es6id: 12.9.3
description: >
"prototype" property is retrieved when left-hand side expression in `instanceof` is object.
info: |
12.9.3 Runtime Semantics: Evaluation
RelationalExpression : RelationalExpression instanceof ShiftExpression
...
7. Return InstanceofOperator(lval, rval).
12.9.4 Runtime Semantics: InstanceofOperator(O, C)
...
6. Return OrdinaryHasInstance(C, O).
7.3.19 OrdinaryHasInstance
...
3. If Type(O) is not Object, return false.
4. Let P be Get(C, "prototype").
5. ReturnIfAbrupt(P).
...
--- |
1244 |
prototype-getter-with-object.js |
---
es6id: 12.9.3
description: >
"prototype" property is retrieved when left-hand side expression in `instanceof` is object.
info: |
12.9.3 Runtime Semantics: Evaluation
RelationalExpression : RelationalExpression instanceof ShiftExpression
...
7. Return InstanceofOperator(lval, rval).
12.9.4 Runtime Semantics: InstanceofOperator(O, C)
...
6. Return OrdinaryHasInstance(C, O).
7.3.19 OrdinaryHasInstance
...
3. If Type(O) is not Object, return false.
4. Let P be Get(C, "prototype").
5. ReturnIfAbrupt(P).
6. If Type(P) is not Object, throw a TypeError exception.
7. Repeat
a. Let O be O.[[GetPrototypeOf]]().
b. ReturnIfAbrupt(O).
c. If O is null, return false.
d. If SameValue(P, O) is true, return true.
...
--- |
1533 |
prototype-getter-with-primitive.js |
---
es6id: 12.9.3
description: >
"prototype" property is not retrieved when left-hand side expression in `instanceof` is primitive.
info: |
12.9.3 Runtime Semantics: Evaluation
RelationalExpression : RelationalExpression instanceof ShiftExpression
...
7. Return InstanceofOperator(lval, rval).
12.9.4 Runtime Semantics: InstanceofOperator(O, C)
...
6. Return OrdinaryHasInstance(C, O).
7.3.19 OrdinaryHasInstance
...
3. If Type(O) is not Object, return false.
...
--- |
1066 |
S11.8.6_A1.js |
---
info: |
White Space and Line Terminator between RelationalExpression and
"instanceof" and between "instanceof" and ShiftExpression are allowed
es5id: 11.8.6_A1
description: Checking by using eval
--- |
2055 |
S11.8.6_A2.1_T1.js |
---
info: Operator "instanceof" uses GetValue
es5id: 11.8.6_A2.1_T1
description: Either Expression is not Reference or GetBase is not null
--- |
930 |
S11.8.6_A2.1_T2.js |
---
info: Operator "instanceof" uses GetValue
es5id: 11.8.6_A2.1_T2
description: If GetBase(RelationalExpression) is null, throw ReferenceError
--- |
643 |
S11.8.6_A2.1_T3.js |
---
info: Operator "instanceof" uses GetValue
es5id: 11.8.6_A2.1_T3
description: If GetBase(ShiftExpression) is null, throw ReferenceError
--- |
630 |
S11.8.6_A2.4_T1.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.8.6_A2.4_T1
description: Checking with "="
--- |
659 |
S11.8.6_A2.4_T2.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.8.6_A2.4_T2
description: Checking with "throw"
--- |
917 |
S11.8.6_A2.4_T3.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.8.6_A2.4_T3
description: Checking with undeclarated variables
--- |
705 |
S11.8.6_A2.4_T4.js |
---
info: First expression is evaluated first, and then second expression
es5id: 11.8.6_A2.4_T4
description: Checking with undeclarated variables
flags: [noStrict]
--- |
478 |
S11.8.6_A3.js |
---
info: If ShiftExpression is not an object, throw TypeError
es5id: 11.8.6_A3
description: Checking all the types of primitives
--- |
1569 |
S11.8.6_A4_T1.js |
---
info: Only constructor call (with "new" keyword) makes instance
es5id: 11.8.6_A4_T1
description: Checking Boolean case
--- |
645 |
S11.8.6_A4_T2.js |
---
info: Only constructor call (with "new" keyword) makes instance
es5id: 11.8.6_A4_T2
description: Checking Number case
--- |
618 |
S11.8.6_A4_T3.js |
---
info: Only constructor call (with "new" keyword) makes instance
es5id: 11.8.6_A4_T3
description: Checking String case
--- |
622 |
S11.8.6_A5_T1.js |
---
info: TypeError is subclass of Error from instanceof operator point of view
es5id: 11.8.6_A5_T1
description: Checking Error case
--- |
1588 |
S11.8.6_A5_T2.js |
---
info: TypeError is subclass of Error from instanceof operator point of view
es5id: 11.8.6_A5_T2
description: Checking TypeError case
--- |
1059 |
S11.8.6_A6_T1.js |
---
info: |
Only Function objects implement [[HasInstance]] and can be proper
ShiftExpression for the "instanceof" operator consequently
es5id: 11.8.6_A6_T1
description: Checking "this" case
--- |
773 |
S11.8.6_A6_T2.js |
---
info: |
Only Function objects implement [[HasInstance]] and can be proper
ShiftExpression for the "instanceof" operator consequently
es5id: 11.8.6_A6_T2
description: Checking Math case
--- |
594 |
S11.8.6_A6_T3.js |
---
info: |
Only Function objects implement [[HasInstance]] and can be proper
ShiftExpression for the "instanceof" operator consequently
es5id: 11.8.6_A6_T3
description: Checking if RelationalExpression is function
--- |
865 |
S11.8.6_A6_T4.js |
---
info: |
Only Function objects implement [[HasInstance]] and can be proper
ShiftExpression for the "instanceof" operator consequently
es5id: 11.8.6_A6_T4
description: Checking if RelationalExpression is object
--- |
1488 |
S11.8.6_A7_T1.js |
---
info: |
When "instanceof" returns true it means that
GetValue(RelationalExpression) is constructed with ShiftExpression
es5id: 11.8.6_A7_T1
description: Checking Object object
--- |
726 |
S11.8.6_A7_T2.js |
---
info: |
When "instanceof" returns true it means that
GetValue(RelationalExpression) is constructed with ShiftExpression
es5id: 11.8.6_A7_T2
description: Checking Array object
--- |
723 |
S11.8.6_A7_T3.js |
---
info: |
When "instanceof" returns true it means that
GetValue(RelationalExpression) is constructed with ShiftExpression
es5id: 11.8.6_A7_T3
description: Checking Function object
--- |
747 |
S15.3.5.3_A1_T1.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T1
description: V is number
--- |
703 |
S15.3.5.3_A1_T2.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T2
description: V is string
--- |
705 |
S15.3.5.3_A1_T3.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T3
description: V is boolean true
--- |
712 |
S15.3.5.3_A1_T4.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T4
description: V is boolean false
--- |
714 |
S15.3.5.3_A1_T5.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T5
description: V is void 0
--- |
708 |
S15.3.5.3_A1_T6.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T6
description: V is null
--- |
704 |
S15.3.5.3_A1_T7.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T7
description: V is undefined
--- |
714 |
S15.3.5.3_A1_T8.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is
called with value V, the following steps are taken: i) If V is not an
object, return false
es5id: 15.3.5.3_A1_T8
description: V is undefined variable
--- |
723 |
S15.3.5.3_A2_T2.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:
i) Call the [[Get]] method of F with property name "prototype".
ii) Let O be Result(i).
iii) O is not an object, throw a TypeError exception
es5id: 15.3.5.3_A2_T2
description: F.prototype is undefined, and V is empty object
--- |
909 |
S15.3.5.3_A2_T5.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of
F is called with value V and V is an object, the following steps
are taken: i) Call the [[Get]] method of F with property name
"prototype". ii) Let O be Result(i). iii) O is not an object,
throw a TypeError exception
es5id: 15.3.5.3_A2_T5
description: F.prototype is void 0, and V is new F
--- |
1127 |
S15.3.5.3_A2_T6.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of
F is called with value V and V is an object, the following steps
are taken: i) Call the [[Get]] method of F with property name
"prototype". ii) Let O be Result(i). iii) O is not an object,
throw a TypeError exception
es5id: 15.3.5.3_A2_T6
description: F.prototype is string, and V is function
--- |
903 |
S15.3.5.3_A3_T1.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:
i) Call the [[Get]] method of F with property name "prototype".
ii) Let O be Result(i) and O is an object.
iii) Let V be the value of the [[Prototype]] property of V.
iv) If V is null, return false.
v) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.
vi) Go to step iii)
es5id: 15.3.5.3_A3_T1
description: F.prototype.type is 1, and V is new F
--- |
1062 |
S15.3.5.3_A3_T2.js |
---
info: |
Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:
i) Call the [[Get]] method of F with property name "prototype".
ii) Let O be Result(i) and O is an object.
iii) Let V be the value of the [[Prototype]] property of V.
iv) If V is null, return false.
v) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.
vi) Go to step iii)
es5id: 15.3.5.3_A3_T2
description: F.prototype is Object.prototype, and V is empty object
--- |
1284 |
shell.js |
|
0 |
symbol-hasinstance-get-err.js |
---
es6id: 12.9.4
description: Error thrown when accessing constructor's @@hasInstance property
info: |
1. If Type(C) is not Object, throw a TypeError exception.
2. Let instOfHandler be GetMethod(C,@@hasInstance).
3. ReturnIfAbrupt(instOfHandler).
features: [Symbol.hasInstance]
--- |
643 |
symbol-hasinstance-invocation.js |
---
es6id: 12.9.4
description: >
Arguments and 'this' value when invoking constructor's @@hasInstance property
info: |
1. If Type(C) is not Object, throw a TypeError exception.
2. Let instOfHandler be GetMethod(C,@@hasInstance).
3. ReturnIfAbrupt(instOfHandler).
4. If instOfHandler is not undefined, then
a. Return ToBoolean(Call(instOfHandler, C, «O»)).
features: [Symbol.hasInstance]
--- |
883 |
symbol-hasinstance-not-callable.js |
---
es6id: 12.9.4
description: >
Error thrown when constructor's @@hasInstance property is defined but not callable
info: |
1. If Type(C) is not Object, throw a TypeError exception.
2. Let instOfHandler be GetMethod(C,@@hasInstance).
3. ReturnIfAbrupt(instOfHandler).
4. If instOfHandler is not undefined, then
a. Return ToBoolean(Call(instOfHandler, C, «O»)).
5. If IsCallable(C) is false, throw a TypeError exception.
features: [Symbol.hasInstance]
--- |
758 |
symbol-hasinstance-to-boolean.js |
---
es6id: 12.9.4
description: >
Type coercion of value returned by constructor's @@hasInstance property
info: |
1. If Type(C) is not Object, throw a TypeError exception.
2. Let instOfHandler be GetMethod(C,@@hasInstance).
3. ReturnIfAbrupt(instOfHandler).
4. If instOfHandler is not undefined, then
a. Return ToBoolean(Call(instOfHandler, C, «O»)).
features: [Symbol, Symbol.hasInstance]
--- |
1455 |