1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
{{alias}}( target, handlers )
Returns a proxy object implementing custom behavior for specified object
operations.
The following "traps" are supported:
- getPrototypeOf( target )
Trap for `Object.getPrototypeOf()`. Can be used to intercept the
`instanceof` operator. The method must return an object or `null`.
- setPrototypeOf( target, prototype )
Trap for `Object.setPrototypeOf()`. The method must return a boolean
indicating if prototype successfully set.
- isExtensible( target )
Trap for `Object.isExtensible()`. The method must return a boolean.
- preventExtensions( target )
Trap for `Object.preventExtensions()`. The method must return a boolean.
- getOwnPropertyDescriptor( target, property )
Trap for `Object.getOwnPropertyDescriptor()`. The method must return an
object or `undefined`.
- defineProperty( target, property, descriptor )
Trap for `Object.defineProperty()`. The method must return a boolean
indicating whether the operation succeeded.
- has( target, property )
Trap for the `in` operator. The method must return a boolean.
- get( target, property, receiver )
Trap for retrieving property values. The method can return any value.
- set( target, property, value, receiver )
Trap for setting property values. The method should return a boolean
indicating whether assignment succeeded.
- deleteProperty( target, property )
Trap for the `delete` operator. The method must return a boolean
indicating whether operation succeeded.
- ownKeys( target )
Trap for `Object.keys`, `Object.getOwnPropertyNames()`, and
`Object.getOwnPropertySymbols()`. The method must return an enumerable
object.
- apply( target, thisArg, argumentsList )
Trap for a function call. The method can return any value.
- construct( target, argumentsList, newTarget )
Trap for the `new` operator. The method must return an object.
All traps are optional. If a trap is not defined, the default behavior is to
forward the operation to the target.
Parameters
----------
target: Object
Object which the proxy virtualizes.
handlers: Object
Object whose properties are functions which define the behavior of the
proxy when performing operations.
Returns
-------
p: Object
Proxy object.
Examples
--------
> function get( obj, prop ) { return obj[ prop ] * 2.0 };
> var h = { 'get': get };
> var p = new {{alias}}( {}, h );
> p.a = 3.14;
> p.a
6.28
{{alias}}.revocable( target, handlers )
Returns a revocable proxy object.
Parameters
----------
target: Object
Object which the proxy virtualizes.
handlers: Object
Object whose properties are functions which define the behavior of the
proxy when performing operations.
Returns
-------
p: Object
Revocable proxy object.
p.proxy: Object
Proxy object.
p.revoke: Function
Invalidates a proxy, rendering a proxy object unusable.
Examples
--------
> function get( obj, prop ) { return obj[ prop ] * 2.0 };
> var h = { 'get': get };
> var p = {{alias}}.revocable( {}, h );
> p.proxy.a = 3.14;
> p.proxy.a
6.28
> p.revoke();
See Also
--------
|