| call-in.js |
---
es6id: 9.5.7
description: >
A `in` check trigger trap.call(handler, target, P);
info: |
[[HasProperty]] (P)
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P»)).
...
--- |
787 |
- |
| call-object-create.js |
---
es6id: 9.5.7
description: >
`.. in Object.create(proxy)` triggers trap.call(handler, target, P);
info: |
[[HasProperty]] (P)
...
2. Let handler be the value of the [[ProxyHandler]] internal slot of O.
...
5. Let target be the value of the [[ProxyTarget]] internal slot of O.
6. Let trap be GetMethod(handler, "has").
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P»)).
...
--- |
1027 |
- |
| call-with.js |
---
es6id: 9.5.7
description: >
A `with` variable check trigger trap.call(handler, target, P);
info: |
[[HasProperty]] (P)
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P»)).
...
flags: [noStrict]
--- |
728 |
- |
| null-handler-using-with.js |
---
es6id: 9.5.7
description: >
Throws a TypeError exception if handler is null.
flags: [noStrict]
--- |
373 |
- |
| null-handler.js |
---
es6id: 9.5.7
description: >
Throws a TypeError exception if handler is null.
--- |
342 |
- |
| return-false-target-not-extensible-using-with.js |
---
es6id: 9.5.7
description: >
A property cannot be reported as non-existent, if it exists as an own
property of the target object and the target object is not extensible.
info: |
[[HasProperty]] (P)
...
11. If booleanTrapResult is false, then
a. Let targetDesc be target.[[GetOwnProperty]](P).
b. ReturnIfAbrupt(targetDesc).
c. If targetDesc is not undefined, then
...
ii. Let extensibleTarget be IsExtensible(target).
...
iv. If extensibleTarget is false, throw a TypeError exception.
...
flags: [noStrict]
--- |
1055 |
- |
| return-false-target-not-extensible.js |
---
es6id: 9.5.7
description: >
A property cannot be reported as non-existent, if it exists as an own
property of the target object and the target object is not extensible.
info: |
[[HasProperty]] (P)
...
11. If booleanTrapResult is false, then
a. Let targetDesc be target.[[GetOwnProperty]](P).
b. ReturnIfAbrupt(targetDesc).
c. If targetDesc is not undefined, then
...
ii. Let extensibleTarget be IsExtensible(target).
...
iv. If extensibleTarget is false, throw a TypeError exception.
...
--- |
1024 |
- |
| return-false-target-prop-exists-using-with.js |
---
es6id: 9.5.7
description: >
The result of [[HasProperty]] is a Boolean value and will affect has
checkings. False returned when target property exists;
info: |
[[HasProperty]] (P)
...
12. Return booleanTrapResult.
flags: [noStrict]
--- |
569 |
- |
| return-false-target-prop-exists.js |
---
es6id: 9.5.7
description: >
The result of [[HasProperty]] is a Boolean value and will affect has
checkings. False returned when target property exists;
info: |
[[HasProperty]] (P)
...
12. Return booleanTrapResult.
--- |
536 |
- |
| return-false-targetdesc-not-configurable-using-with.js |
---
es6id: 9.5.7
description: >
A property cannot be reported as non-existent, if it exists as a
non-configurable own property of the target object.
info: |
[[HasProperty]] (P)
...
11. If booleanTrapResult is false, then
...
c. If targetDesc is not undefined, then
i. If targetDesc.[[Configurable]] is false, throw a TypeError
exception.
...
flags: [noStrict]
--- |
839 |
- |
| return-false-targetdesc-not-configurable.js |
---
es6id: 9.5.7
description: >
A property cannot be reported as non-existent, if it exists as a
non-configurable own property of the target object.
info: |
[[HasProperty]] (P)
...
11. If booleanTrapResult is false, then
...
c. If targetDesc is not undefined, then
i. If targetDesc.[[Configurable]] is false, throw a TypeError
exception.
...
--- |
808 |
- |
| return-is-abrupt-in.js |
---
es6id: 9.5.7
description: >
Trap returns abrupt. Using `prop in obj`.
info: |
[[HasProperty]] (P)
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P»)).
10. ReturnIfAbrupt(booleanTrapResult).
...
--- |
539 |
- |
| return-is-abrupt-with.js |
---
es6id: 9.5.7
description: >
Trap returns abrupt. Using `with`.
info: |
[[HasProperty]] (P)
...
9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, P»)).
10. ReturnIfAbrupt(booleanTrapResult).
...
flags: [noStrict]
--- |
563 |
- |
| return-true-target-prop-exists-using-with.js |
---
es6id: 9.5.7
description: >
The result of [[HasProperty]] is a Boolean value and will affect has
checkings. True returned when target property exists;
flags: [noStrict]
--- |
527 |
- |
| return-true-target-prop-exists.js |
---
es6id: 9.5.7
description: >
The result of [[HasProperty]] is a Boolean value and will affect has
checkings. True returned when target property exists;
--- |
455 |
- |
| return-true-without-same-target-prop.js |
---
es6id: 9.5.7
description: >
The result of [[HasProperty]] is a Boolean value and will affect has
checkings. True returned when target property doesn't exists;
--- |
434 |
- |
| trap-is-not-callable-realm.js |
---
esid: sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p
es6id: 9.5.7
description: >
Throws if trap is not callable (honoring the Realm of the current execution
context)
info: |
[[HasProperty]] (P)
...
6. Let trap be GetMethod(handler, "has").
...
7.3.9 GetMethod (O, P)
...
2. Let func be GetV(O, P).
5. If IsCallable(func) is false, throw a TypeError exception.
...
features: [cross-realm]
--- |
763 |
- |
| trap-is-not-callable-using-with.js |
---
es6id: 9.5.7
description: >
Throws a TypeError exception if trap is not callable.
info: |
[[HasProperty]] (P)
...
6. Let trap be GetMethod(handler, "has").
...
7.3.9 GetMethod (O, P)
...
2. Let func be GetV(O, P).
5. If IsCallable(func) is false, throw a TypeError exception.
...
flags: [noStrict]
--- |
640 |
- |
| trap-is-not-callable.js |
---
es6id: 9.5.7
description: >
Throws a TypeError exception if trap is not callable.
info: |
[[HasProperty]] (P)
...
6. Let trap be GetMethod(handler, "has").
...
7.3.9 GetMethod (O, P)
...
2. Let func be GetV(O, P).
5. If IsCallable(func) is false, throw a TypeError exception.
...
--- |
609 |
- |
| trap-is-undefined-using-with.js |
---
es6id: 9.5.7
description: >
Return target.[[HasProperty]](P) if trap is undefined.
info: |
[[HasProperty]] (P)
...
8. If trap is undefined, then
a. Return target.[[HasProperty]](P).
...
flags: [noStrict]
--- |
550 |
- |
| trap-is-undefined.js |
---
es6id: 9.5.7
description: >
Return target.[[HasProperty]](P) if trap is undefined.
info: |
[[HasProperty]] (P)
...
8. If trap is undefined, then
a. Return target.[[HasProperty]](P).
...
--- |
523 |
- |