| call-parameters-object-getownpropertynames.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
--- |
783 |
- |
| call-parameters-object-getownpropertysymbols.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
features: [Symbol]
--- |
860 |
- |
| call-parameters-object-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
8. Let trapResultArray be Call(trap, handler, «target»).
--- |
745 |
- |
| extensible-return-trap-result-absent-not-configurable-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is extensible, return the non-falsy trap result if target doesn't
contain any non-configurable keys.
info: |
[[OwnPropertyKeys]] ( )
...
15. If extensibleTarget is true and targetNonconfigurableKeys is empty, then
a. Return trapResult.
--- |
758 |
- |
| extensible-return-trap-result.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is extensible, return the non-falsy trap result if it contains all
of target's non-configurable keys.
info: |
[[OwnPropertyKeys]] ( )
...
18. If extensibleTarget is true, return trapResult.
--- |
815 |
- |
| not-extensible-missing-keys-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result must contain all the keys of the own
properties of the target object.
info: |
[[OwnPropertyKeys]] ( )
...
19. For each key that is an element of targetConfigurableKeys, do
a. If key is not an element of uncheckedResultKeys, throw a TypeError
exception.
--- |
785 |
- |
| not-extensible-new-keys-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result can't contain keys names not
contained in the target object.
info: |
[[OwnPropertyKeys]] ( )
...
20. If uncheckedResultKeys is not empty, throw a TypeError exception.
--- |
680 |
- |
| not-extensible-return-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If target is not extensible, the result must contain all the keys of the own
properties of the target object and no other values
info: |
[[OwnPropertyKeys]] ( )
...
21. Return trapResult.
--- |
742 |
- |
| null-handler.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
2. If handler is null, throw a TypeError exception.
--- |
439 |
- |
| return-all-non-configurable-keys.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The result List must contain the keys of all non-configurable own properties
of the target object.
info: |
[[OwnPropertyKeys]] ( )
...
17. For each key that is an element of targetNonconfigurableKeys, do
a. If key is not an element of uncheckedResultKeys, throw a TypeError
exception.
--- |
835 |
- |
| return-duplicate-entries-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not contain any duplicate entries.
info: |
[[OwnPropertyKeys]] ( )
...
9. If trapResult contains any duplicate entries, throw a TypeError exception.
--- |
560 |
- |
| return-duplicate-symbol-entries-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not contain any duplicate entries.
info: |
[[OwnPropertyKeys]] ( )
...
9. If trapResult contains any duplicate entries, throw a TypeError exception.
features: [Symbol]
--- |
593 |
- |
| return-is-abrupt.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Trap returns abrupt.
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String, Symbol »).
--- |
620 |
- |
| return-not-list-object-throws-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If return is not a list object, throw a TypeError exception (honoring
the Realm of the current execution context)
info: |
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String,
Symbol »).
...
#sec-createlistfromarraylike
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )
2. If Type(obj) is not Object, throw a TypeError exception.
features: [cross-realm, Symbol]
--- |
928 |
- |
| return-not-list-object-throws.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
If return is not a list object, throw a TypeError exception
info: |
[[OwnPropertyKeys]] ( )
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ? CreateListFromArrayLike(trapResultArray, « String,
Symbol »).
...
#sec-createlistfromarraylike
7.3.17 CreateListFromArrayLike (obj [, elementTypes] )
2. If Type(obj) is not Object, throw a TypeError exception.
features: [Symbol]
--- |
854 |
- |
| return-type-throws-array.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
897 |
- |
| return-type-throws-boolean.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
887 |
- |
| return-type-throws-null.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
887 |
- |
| return-type-throws-number.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
884 |
- |
| return-type-throws-object.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
885 |
- |
| return-type-throws-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
The returned list must not have entries whose type does not match
« String, Symbol ».
info: |
[[OwnPropertyKeys]] ( )
...
7. Let trapResultArray be ? Call(trap, handler, « target »).
8. Let trapResult be ?
CreateListFromArrayLike(trapResultArray, « String, Symbol »).
...
CreateListFromArrayLike ( obj [ , elementTypes ] )
...
6. Repeat, while index < len
...
d. If Type(next) is not an element of elementTypes,
throw a TypeError exception.
--- |
892 |
- |
| trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
info: |
[[OwnPropertyKeys]] ( )
5. Let trap be GetMethod(handler, "ownKeys").
...
#sec-getmethod
7.3.9 GetMethod (O, P)
4. If IsCallable(func) is false, throw a TypeError exception.
features: [cross-realm]
--- |
724 |
- |
| trap-is-not-callable.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
Trap is not callable.
info: |
[[OwnPropertyKeys]] ( )
5. Let trap be ? GetMethod(handler, "ownKeys").
...
#sec-getmethod
7.3.9 GetMethod (O, P)
4. If IsCallable(func) is false, throw a TypeError exception.
--- |
592 |
- |
| trap-is-undefined.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys
description: >
[[OwnPropertyKeys]] ( )
6. If trap is undefined, then Return target.[[OwnPropertyKeys]]()
--- |
540 |
- |